configuration.nix/home/modules/packages/default.nix

193 lines
5.7 KiB
Nix
Raw Normal View History

{ 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
2024-07-01 21:28:59 +02:00
transmission_4
2024-06-23 15:38:55 +02:00
speedtest-cli
];
}
);
random = moduleWithSystem (
top@{ ... }:
perSystem@{ pkgs, ... }: {
home.packages = with pkgs; [
xonotic
2024-06-23 19:02:57 +02:00
tor-browser
2024-06-25 21:16:25 +02:00
electrum
2024-06-25 23:14:47 +02:00
monero-cli
2024-06-26 00:05:42 +02:00
bisq-desktop
];
}
);
all = moduleWithSystem
(
top@{ ... }:
perSystem@{ pkgs, ... }:
rec {
imports = [ ../programs ];
2024-06-23 17:57:26 +02:00
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";
2024-06-23 17:09:24 +02:00
MAKEFLAGS = "-j 4";
};
2024-06-28 11:14:10 +02:00
pointerCursor = with pkgs; {
name = lib.mkForce "BreezeX-RosePine-Linux";
package = lib.mkForce rose-pine-cursor;
2024-06-25 09:31:17 +02:00
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";
};
};
};
}
);
2024-06-18 20:56:19 +02:00
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'" ];
};
};
};
};
}
);
2024-06-19 16:00:50 +02:00
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
];
}
);
};
}