From 85de3b3ac6fc8466be5135a452cb7b18ad843231 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moritz=20B=C3=B6hme?= Date: Thu, 6 Oct 2022 20:32:21 +0200 Subject: [PATCH] :sparkles: make use of systemPackage --- modules/profiles/desktop.nix | 1 - modules/programs/bspwm/default.nix | 19 ++-- modules/programs/emacs.nix | 128 +++++++++++----------- modules/programs/fish.nix | 2 +- modules/programs/ledger/default.nix | 36 +++--- modules/programs/rofi/default.nix | 10 +- modules/programs/spotify.nix | 2 +- modules/virtualisation/virtualisation.nix | 2 +- 8 files changed, 97 insertions(+), 103 deletions(-) diff --git a/modules/profiles/desktop.nix b/modules/profiles/desktop.nix index f22621f..62fd2b8 100644 --- a/modules/profiles/desktop.nix +++ b/modules/profiles/desktop.nix @@ -85,7 +85,6 @@ with lib; { thunar.enable = true; zathura.enable = true; }; - services = { dunst.enable = true; kdeconnect.enable = true; diff --git a/modules/programs/bspwm/default.nix b/modules/programs/bspwm/default.nix index 314a37b..dff5175 100644 --- a/modules/programs/bspwm/default.nix +++ b/modules/programs/bspwm/default.nix @@ -80,16 +80,15 @@ in WantedBy = [ "graphical-session.target" ]; }; }; - - home.packages = with pkgs; [ - bc # HACK to get bsp-layout to work - brightnessctl - bsp-layout - feh - pamixer - playerctl - synology-drive-client - ]; }; + environment.systemPackages = with pkgs; [ + bc # HACK to get bsp-layout to work + brightnessctl + bsp-layout + feh + pamixer + playerctl + synology-drive-client + ]; }; } diff --git a/modules/programs/emacs.nix b/modules/programs/emacs.nix index 1a2a7d1..41faef0 100644 --- a/modules/programs/emacs.nix +++ b/modules/programs/emacs.nix @@ -24,78 +24,76 @@ in emacs = "emacsclient -t -a 'emacs -t'"; }; fonts.fonts = [ pkgs.emacs-all-the-icons-fonts ]; + environment.systemPackages = with pkgs; [ + ### Emacs itself + binutils # native-comp needs 'as', provided by this + myEmacs + ### Doom dependencies + git + (ripgrep.override { withPCRE2 = true; }) + gnutls # for TLS connectivity + + ### Optional dependencies + fd # faster projectile indexing + imagemagick # for image-dired + zstd # for undo-fu-session/undo-tree compression + + ### Module dependencies + ## :checkers + # spell + (hunspellWithDicts [ + hunspellDicts.en_GB-ize + hunspellDicts.en_US + hunspellDicts.de_DE + ]) + + # grammar + languagetool + + ## : tools + # lookup & org +roam + sqlite + gcc # HACK to get emacsqlite binary + wordnet + graphviz + + ## :lang + # latex & org (latex previews) + stable.texlive.combined.scheme-full # HACK to fix broken perl package + texlab + + # nix + nixfmt # for formating nix + rnix-lsp + + # markdown & org +pandoc + pandoc + + # python + nodePackages.pyright + + # sh + nodePackages.bash-language-server + + ## :email + # mu4e + mu + isync + + ## :app + # everywhere + xdotool + xorg.xwininfo + xclip + xorg.xprop + ]; home-manager.users.moritz = { home.sessionPath = [ "/home/moritz/.config/emacs/bin/" ]; services.emacs = { enable = true; package = myEmacs; }; - - home.packages = with pkgs; [ - ### Emacs itself - binutils # native-comp needs 'as', provided by this - myEmacs - - ### Doom dependencies - git - (ripgrep.override { withPCRE2 = true; }) - gnutls # for TLS connectivity - - ### Optional dependencies - fd # faster projectile indexing - imagemagick # for image-dired - zstd # for undo-fu-session/undo-tree compression - - ### Module dependencies - ## :checkers - # spell - (hunspellWithDicts [ - hunspellDicts.en_GB-ize - hunspellDicts.en_US - hunspellDicts.de_DE - ]) - - # grammar - languagetool - - ## : tools - # lookup & org +roam - sqlite - gcc # HACK to get emacsqlite binary - wordnet - graphviz - - ## :lang - # latex & org (latex previews) - stable.texlive.combined.scheme-full # HACK to fix broken perl package - texlab - - # nix - nixfmt # for formating nix - rnix-lsp - - # markdown & org +pandoc - pandoc - - # python - nodePackages.pyright - - # sh - nodePackages.bash-language-server - - ## :email - # mu4e - mu - isync - - ## :app - # everywhere - xdotool - xorg.xwininfo - xclip - xorg.xprop - ]; }; }; } diff --git a/modules/programs/fish.nix b/modules/programs/fish.nix index d38f6d5..2db1fd4 100644 --- a/modules/programs/fish.nix +++ b/modules/programs/fish.nix @@ -25,6 +25,7 @@ in config = lib.mkIf cfg.enable { # set as default shell users.users.moritz.shell = pkgs.fish; + environment.systemPackages = with pkgs.fishPlugins; [ fzf-fish pisces ]; # needed for nix completions programs.fish.enable = true; @@ -88,7 +89,6 @@ in fzf.enableFishIntegration = true; starship.enableFishIntegration = true; }; - home.packages = with pkgs.fishPlugins; [ fzf-fish pisces ]; }; }; } diff --git a/modules/programs/ledger/default.nix b/modules/programs/ledger/default.nix index a219fd6..8ed7a1b 100644 --- a/modules/programs/ledger/default.nix +++ b/modules/programs/ledger/default.nix @@ -35,26 +35,24 @@ in reg = "ledger reg -R -V --tail 15"; }; }; + environment.systemPackages = with pkgs; let + reg-copy = writeShellApplication { + name = "reg-copy"; + + runtimeInputs = [ ledger xclip ]; + + text = '' + table="$(printf '%-10s %-30s %8s %8s\n' Datum Beschreibung Einzeln Gesamt && ledger reg -V --format '%10D %.30P %8t %8T\n' "$@")" + echo "$table" + echo "$table" | xclip -selection clipboard + ''; + }; + in + [ ledger reg-copy hledger hledger-ui hledger-web ]; home-manager.users.moritz = { - home.packages = with pkgs; let - reg-copy = writeShellApplication { - name = "reg-copy"; - - runtimeInputs = [ ledger xclip ]; - - text = '' - table="$(printf '%-10s %-30s %8s %8s\n' Datum Beschreibung Einzeln Gesamt && ledger reg -V --format '%10D %.30P %8t %8T\n' "$@")" - echo "$table" - echo "$table" | xclip -selection clipboard - ''; - }; - in - [ ledger reg-copy hledger hledger-ui hledger-web ]; - home-manager.users.moritz = { - xdg.configFile = { - "fish/completions/ledger.fish" = { - text = builtins.readFile ./ledger.fish; - }; + xdg.configFile = { + "fish/completions/ledger.fish" = { + text = builtins.readFile ./ledger.fish; }; }; }; diff --git a/modules/programs/rofi/default.nix b/modules/programs/rofi/default.nix index 28e7363..ec02515 100644 --- a/modules/programs/rofi/default.nix +++ b/modules/programs/rofi/default.nix @@ -52,6 +52,11 @@ in }; config = mkIf cfg.enable { + environment.systemPackages = with pkgs; [ + (lib.mkIf config.networking.networkmanager.enable networkmanager_dmenu) + (lib.mkIf config.hardware.bluetooth.enable rofi-bluetooth) + rofi-power-menu + ]; home-manager.users.moritz = { programs.rofi = { enable = true; @@ -59,11 +64,6 @@ in pkgs.rofi.override { plugins = with pkgs; [ rofi-calc rofi-emoji ]; }; extraConfig = { combi-modi = "drun,window,emoji"; }; }; - home.packages = with pkgs; [ - (lib.mkIf config.networking.networkmanager.enable networkmanager_dmenu) - (lib.mkIf config.hardware.bluetooth.enable rofi-bluetooth) - rofi-power-menu - ]; xdg = { enable = true; configFile."networkmanager-dmenu/config.ini".text = '' diff --git a/modules/programs/spotify.nix b/modules/programs/spotify.nix index 283f9be..7010d7f 100644 --- a/modules/programs/spotify.nix +++ b/modules/programs/spotify.nix @@ -22,8 +22,8 @@ in file = ../../secrets/spotifyd.age; owner = "1000"; }; + environment.systemPackages = with pkgs; [ spotify-tui sptlrx ]; home-manager.users.moritz = { - home.packages = with pkgs; [ spotify-tui sptlrx ]; services.spotifyd = { enable = true; package = pkgs.spotifyd.override { withMpris = true; }; diff --git a/modules/virtualisation/virtualisation.nix b/modules/virtualisation/virtualisation.nix index 3326a40..bd84cda 100644 --- a/modules/virtualisation/virtualisation.nix +++ b/modules/virtualisation/virtualisation.nix @@ -22,7 +22,7 @@ in enable = true; package = pkgs.libvirt; }; - home-manager.users.moritz.home.packages = with pkgs; [ virt-manager ]; + environment.systemPackages = with pkgs; [ virt-manager ]; users.users.moritz.extraGroups = [ "libvirtd" ]; }; }