192 lines
5.7 KiB
Nix
192 lines
5.7 KiB
Nix
{ moduleWithSystem, ... }: {
|
|
flake.homeManagerModules = {
|
|
dev = moduleWithSystem (
|
|
top@{ ... }:
|
|
perSystem@{ pkgs, ... }: {
|
|
home.packages = with pkgs; [
|
|
openssh
|
|
procs
|
|
ripgrep
|
|
fswatch
|
|
nvim
|
|
];
|
|
}
|
|
);
|
|
essential = moduleWithSystem (
|
|
top@{ ... }:
|
|
perSystem@{ pkgs, ... }: {
|
|
home.packages = with pkgs; [
|
|
gopass
|
|
ffmpeg
|
|
transmission
|
|
speedtest-cli
|
|
];
|
|
}
|
|
);
|
|
random = moduleWithSystem (
|
|
top@{ ... }:
|
|
perSystem@{ pkgs, ... }: {
|
|
home.packages = with pkgs; [
|
|
xonotic
|
|
tor-browser
|
|
electrum
|
|
monero-cli
|
|
];
|
|
}
|
|
);
|
|
all = moduleWithSystem
|
|
(
|
|
top@{ ... }:
|
|
perSystem@{ pkgs, ... }:
|
|
rec {
|
|
imports = [ ../programs ];
|
|
programs.home-manager.enable = true;
|
|
catppuccin = {
|
|
enable = true;
|
|
flavor = "mocha";
|
|
};
|
|
|
|
gtk = {
|
|
enable = true;
|
|
};
|
|
|
|
home = rec {
|
|
username = "ivand";
|
|
homeDirectory = "/home/ivand";
|
|
sessionPath = [
|
|
"$HOME/.local/bin"
|
|
];
|
|
sessionVariables = {
|
|
PASSWORD_STORE_DIR = "${homeDirectory}/.password-store";
|
|
EDITOR = "nvim";
|
|
PAGER = "bat";
|
|
TERM = "screen-256color";
|
|
MAKEFLAGS = "-j 4";
|
|
};
|
|
pointerCursor = {
|
|
name = "BreezeX-RosePine-Linux";
|
|
package = pkgs.rose-pine-cursor;
|
|
size = 24;
|
|
gtk.enable = true;
|
|
};
|
|
};
|
|
|
|
systemd.user = {
|
|
timers = {
|
|
rbingwp = {
|
|
Timer = {
|
|
OnCalendar = "*-*-* 10:00:00";
|
|
Persistent = true;
|
|
};
|
|
Install = {
|
|
WantedBy = [ "timers.target" ];
|
|
};
|
|
};
|
|
};
|
|
services = {
|
|
wpd = {
|
|
Service = {
|
|
Environment = [
|
|
"PATH=${pkgs.xdg-user-dirs}/bin:${pkgs.swaybg}/bin"
|
|
];
|
|
ExecStart = [ "${pkgs.nushell}/bin/nu -c 'swaybg -i ((xdg-user-dir PICTURES) | path split | path join bg.png)'" ];
|
|
};
|
|
};
|
|
bingwp = {
|
|
Service = {
|
|
Type = "oneshot";
|
|
Environment = [
|
|
"PATH=${pkgs.xdg-user-dirs}/bin:${pkgs.nushell}/bin"
|
|
];
|
|
ExecStart = [ "${pkgs.scripts}/bin/bingwp" ];
|
|
};
|
|
};
|
|
rbingwp = {
|
|
Install = {
|
|
WantedBy = [ "sway-session.target" ];
|
|
};
|
|
Unit = {
|
|
Description = "Restart bingwp and wpd services";
|
|
After = "graphical-session-pre.target";
|
|
PartOf = "graphical-session.target";
|
|
};
|
|
Service = {
|
|
Type = "oneshot";
|
|
ExecStart = [ "${pkgs.nushell}/bin/nu -c '${pkgs.systemd}/bin/systemctl --user restart bingwp.service; ${pkgs.systemd}/bin/systemctl --user restart wpd.service'" ];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
xdg = {
|
|
enable = true;
|
|
userDirs = {
|
|
enable = true;
|
|
createDirectories = true;
|
|
desktop = "${home.homeDirectory}/dt";
|
|
documents = "${home.homeDirectory}/doc";
|
|
download = "${home.homeDirectory}/dl";
|
|
pictures = "${home.homeDirectory}/pic";
|
|
videos = "${home.homeDirectory}/vid";
|
|
templates = "${home.homeDirectory}/tpl";
|
|
publicShare = "${home.homeDirectory}/pub";
|
|
music = "${home.homeDirectory}/mus";
|
|
};
|
|
mimeApps = {
|
|
enable = true;
|
|
defaultApplications = {
|
|
"text/html" = "firefox.desktop";
|
|
"x-scheme-handler/http" = "firefox.desktop";
|
|
"x-scheme-handler/https" = "firefox.desktop";
|
|
"x-scheme-handler/about" = "firefox.desktop";
|
|
"x-scheme-handler/unknown" = "firefox.desktop";
|
|
"x-scheme-handler/mailto" = "userapp-Thunderbird-LDALA2.desktop";
|
|
"message/rfc822" = "userapp-Thunderbird-LDALA2.desktop";
|
|
"x-scheme-handler/mid" = "userapp-Thunderbird-LDALA2.desktop";
|
|
};
|
|
};
|
|
};
|
|
}
|
|
);
|
|
reminders =
|
|
moduleWithSystem (
|
|
top@{ ... }:
|
|
perSystem@{ pkgs, ... }: {
|
|
systemd.user = {
|
|
timers = {
|
|
track-time = {
|
|
Timer = {
|
|
OnCalendar = "Mon..Fri *-*-* 16:00:*";
|
|
Persistent = true;
|
|
};
|
|
Install = {
|
|
WantedBy = [ "timers.target" ];
|
|
};
|
|
};
|
|
};
|
|
services = {
|
|
track-time = {
|
|
Service = {
|
|
Type = "oneshot";
|
|
ExecStart = [ "${pkgs.libnotify}/bin/notify-send -u critical 'Reminder: Track time'" ];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|
|
);
|
|
cust = moduleWithSystem (
|
|
top@{ ... }:
|
|
perSystem@{ pkgs, ... }: {
|
|
imports = [ ../programs/zsh ../programs/nushell ../programs/starship ../programs/carapace ../programs/bottom ../programs/firefox ];
|
|
home.packages = with pkgs; [
|
|
openssh
|
|
procs
|
|
ripgrep
|
|
fswatch
|
|
];
|
|
}
|
|
);
|
|
};
|
|
}
|