diff options
Diffstat (limited to 'common/home/default.nix')
| -rw-r--r-- | common/home/default.nix | 271 |
1 files changed, 123 insertions, 148 deletions
diff --git a/common/home/default.nix b/common/home/default.nix index 449d8d5..1ae5ce9 100644 --- a/common/home/default.nix +++ b/common/home/default.nix @@ -1,168 +1,143 @@ { - config, - pkgs, - nixvim, - ... + config, + pkgs, + nixvim, + ... }: let - programs = [ - "git" - "alacritty" - "firefox" - "nixvim" - "hyprlock" - "waybar" - "zsh" - "bash" - "btop" - "wofi" - "password-store" - "gpg" - "ssh" - "neomutt" - "mbsync" - "msmtp" - "direnv" - "zathura" - "mpv" - ]; - services = [ - "syncthing" - "hyprpaper" - "network-manager-applet" - "gpg-agent" - "mbsync" - ]; - packages = [ - pkgs.pinentry-qt - pkgs.networkmanagerapplet - pkgs.pavucontrol - pkgs.wl-clipboard - pkgs.virt-manager - pkgs.wev - pkgs.signal-desktop - pkgs.unzip - pkgs.zip - pkgs.sway-contrib.grimshot - pkgs.wget - pkgs.tor-browser - pkgs.imagemagick - pkgs.yt-dlp - pkgs.brightnessctl - pkgs.pciutils - pkgs.usbutils - pkgs.acpi - pkgs.nixfmt-rfc-style - pkgs.blueberry - pkgs.gimp - pkgs.inkscape - pkgs.hicolor-icon-theme - pkgs.bat - pkgs.blender - ]; -in +dirfilter = import ../../utils/dirfilter.nix; +programs = dirfilter { path = ./programs; type = "directory"; }; +services = dirfilter { path = ./services; type = "directory"; }; +packages = [ + pkgs.pinentry-qt + pkgs.networkmanagerapplet + pkgs.pavucontrol + pkgs.wl-clipboard + pkgs.virt-manager + pkgs.wev + pkgs.signal-desktop + pkgs.unzip + pkgs.zip + pkgs.sway-contrib.grimshot + pkgs.wget + pkgs.tor-browser + pkgs.imagemagick + pkgs.yt-dlp + pkgs.brightnessctl + pkgs.pciutils + pkgs.usbutils + pkgs.acpi + pkgs.nixfmt-rfc-style + pkgs.blueberry + pkgs.gimp + pkgs.inkscape + pkgs.hicolor-icon-theme + pkgs.bat + pkgs.blender + ]; + in { - users.n8 = { - programs = builtins.listToAttrs ( - map (n: { - name = n; - value = - if builtins.pathExists ./programs/${n}/default.nix then - (import ./programs/${n} { - inherit pkgs; - home = config.home-manager.users.n8.home; - }) - else - { enable = true; }; - }) programs - ); + users.n8 = { + programs = builtins.listToAttrs ( + map (n: { + name = n; + value = + if builtins.pathExists ./programs/${n}/default.nix then + (import ./programs/${n} { + inherit pkgs; + home = config.home-manager.users.n8.home; + }) + else + { enable = true; }; + }) programs + ); - services = builtins.listToAttrs ( - map (n: { - name = n; - value = - if builtins.pathExists ./services/${n}/default.nix then - (import ./services/${n} { inherit pkgs; }) - else - { enable = true; }; - }) services - ); + services = builtins.listToAttrs ( + map (n: { + name = n; + value = + if builtins.pathExists ./services/${n}/default.nix then + (import ./services/${n} { inherit pkgs; }) + else + { enable = true; }; + }) services + ); - accounts = import ./accounts { }; + accounts = import ./accounts { }; - wayland.windowManager.hyprland = import ./hyprland; + wayland.windowManager.hyprland = import ./hyprland; - home.packages = packages; + home.packages = packages; - home.pointerCursor = { - gtk.enable = true; - package = pkgs.bibata-cursors; - name = "Bibata-Modern-Classic"; - size = 24; - }; + home.pointerCursor = { + gtk.enable = true; + package = pkgs.bibata-cursors; + name = "Bibata-Modern-Classic"; + size = 24; + }; - gtk = { - enable = true; + gtk = { + enable = true; - theme = { - package = pkgs.gruvbox-dark-gtk; - name = "gruvbox-dark"; - }; + theme = { + package = pkgs.gruvbox-dark-gtk; + name = "gruvbox-dark"; + }; - iconTheme = { - package = pkgs.flat-remix-icon-theme; - name = "Flat-Remix-Blue-Light"; - }; + iconTheme = { + package = pkgs.flat-remix-icon-theme; + name = "Flat-Remix-Blue-Light"; + }; - font = { - name = "SauceCodePro NF"; - size = 11; - }; - }; + font = { + name = "SauceCodePro NF"; + size = 11; + }; + }; - qt = { - enable = true; - style = { - package = [ - pkgs.qt6Packages.qt6gtk2 - pkgs.libsForQt5.qtstyleplugins - ]; - name = "gtk2"; - }; - }; + qt = { + enable = true; + style = { + package = [ + pkgs.qt6Packages.qt6gtk2 + pkgs.libsForQt5.qtstyleplugins + ]; + name = "gtk2"; + }; + }; - xdg = { - portal = { - enable = true; - xdgOpenUsePortal = true; - config = { - common = { - default = [ "hyprland" ]; - }; - }; - configPackages = [ pkgs.xdg-desktop-portal-hyprland ]; - extraPortals = [ pkgs.xdg-desktop-portal-hyprland ]; - }; + xdg = { + portal = { + enable = true; + xdgOpenUsePortal = true; + config = { + common = { + default = [ "hyprland" ]; + }; + }; + configPackages = [ pkgs.xdg-desktop-portal-hyprland ]; + extraPortals = [ pkgs.xdg-desktop-portal-hyprland ]; + }; - userDirs = { - enable = true; - download = "${config.home-manager.users.n8.home.homeDirectory}"; - desktop = null; - documents = "${config.home-manager.users.n8.home.homeDirectory}/global/docs"; - music = "${config.home-manager.users.n8.home.homeDirectory}/global/media/audio"; - pictures = "${config.home-manager.users.n8.home.homeDirectory}/global/media/photos"; - publicShare = null; - templates = null; - videos = "${config.home-manager.users.n8.home.homeDirectory}/global/media/videos"; - }; - }; + userDirs = { + enable = true; + download = "${config.home-manager.users.n8.home.homeDirectory}"; + desktop = null; + documents = "${config.home-manager.users.n8.home.homeDirectory}/global/docs"; + music = "${config.home-manager.users.n8.home.homeDirectory}/global/media/audio"; + pictures = "${config.home-manager.users.n8.home.homeDirectory}/global/media/photos"; + publicShare = null; + templates = null; + videos = "${config.home-manager.users.n8.home.homeDirectory}/global/media/videos"; + }; + }; - home.stateVersion = "24.05"; + home.stateVersion = "24.05"; - }; + }; - useGlobalPkgs = true; - useUserPackages = true; - backupFileExtension = "backup"; - sharedModules = [ nixvim.homeManagerModules.nixvim ]; + useGlobalPkgs = true; + useUserPackages = true; + backupFileExtension = "backup"; + sharedModules = [ nixvim.homeManagerModules.nixvim ]; } |