diff options
Diffstat (limited to '')
-rw-r--r-- | system/default.nix | 34 | ||||
-rw-r--r-- | system/desktops/default.nix | 8 | ||||
-rw-r--r-- | system/desktops/hyprland.nix | 29 | ||||
-rw-r--r-- | system/desktops/ly.nix (renamed from modules/desktops/ly.nix) | 9 | ||||
-rw-r--r-- | system/desktops/sway.nix (renamed from modules/desktops/sway/default.nix) | 25 | ||||
-rw-r--r-- | system/desktops/wayland.nix (renamed from modules/desktops/wayland.nix) | 4 | ||||
-rw-r--r-- | system/fingerprint.nix | 6 | ||||
-rw-r--r-- | system/gaming/default.nix | 5 | ||||
-rw-r--r-- | system/gaming/steam.nix (renamed from modules/gaming/steam.nix) | 4 | ||||
-rw-r--r-- | system/sshd.nix | 4 | ||||
-rw-r--r-- | system/virt/default.nix | 6 | ||||
-rw-r--r-- | system/virt/docker.nix (renamed from modules/virt/docker.nix) | 4 | ||||
-rw-r--r-- | system/virt/qemu.nix (renamed from modules/virt/qemu.nix) | 4 |
13 files changed, 99 insertions, 43 deletions
diff --git a/system/default.nix b/system/default.nix index e3b7c66..824c99f 100644 --- a/system/default.nix +++ b/system/default.nix @@ -1,10 +1,15 @@ { + lib, config, pkgs, - self, + inputs, ... }: { imports = [ + inputs.home-manager.nixosModules.home-manager + ./desktops + ./gaming + ./virt ./battery.nix ./bluetooth.nix ./desktop.nix @@ -27,6 +32,27 @@ # enable nixos-rebuild-ng system.rebuild.enableNg = true; + # use system packages in home manager + home-manager.useGlobalPkgs = true; + + # install user packages to /etc/profiles and not home directory + home-manager.useUserPackages = true; + + # root user home + home-manager.users.root = { + home.stateVersion = config.stateVersion; + }; + + # main user home + home-manager.extraSpecialArgs = {inherit inputs;}; + home-manager.users.${config.user} = { + imports = [ + ../home + ../options.nix + (inputs.self.lib.customConfig config) + ]; + }; + # hostname networking.hostName = config.hostName; @@ -40,7 +66,6 @@ shared-mime-info # shell bash - zsh # utility curl dig @@ -60,6 +85,9 @@ wget ]; + # system shell + programs.zsh.enable = true; + # use the latest kernel boot.kernelPackages = pkgs.linuxPackages_latest; @@ -92,5 +120,5 @@ }; # certs - security.pki.certificateFiles = self.lib.certs; + security.pki.certificateFiles = inputs.self.lib.certs; } diff --git a/system/desktops/default.nix b/system/desktops/default.nix new file mode 100644 index 0000000..8f9270f --- /dev/null +++ b/system/desktops/default.nix @@ -0,0 +1,8 @@ +{...}: { + imports = [ + ./hyprland.nix + ./ly.nix + ./sway.nix + ./wayland.nix + ]; +} diff --git a/system/desktops/hyprland.nix b/system/desktops/hyprland.nix new file mode 100644 index 0000000..91170bd --- /dev/null +++ b/system/desktops/hyprland.nix @@ -0,0 +1,29 @@ +{ + inputs, + config, + pkgs, + lib, + ... +}: let + inherit (lib) mkIf mkDefault; + cfg = config.desktops.hyprland; +in { + config = mkIf cfg.enable { + desktops.wayland.enable = true; + + xdg.portal = { + extraPortals = [ + inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland + ]; + config = { + hyprland.common = ["gtk" "hyprland"]; + }; + }; + + programs.hyprland = { + enable = true; + package = inputs.hyprland.packages.${pkgs.system}.hyprland; + portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland; + }; + }; +} diff --git a/modules/desktops/ly.nix b/system/desktops/ly.nix index 9e9e51b..ac53495 100644 --- a/modules/desktops/ly.nix +++ b/system/desktops/ly.nix @@ -2,18 +2,17 @@ lib, config, pkgs, - self, - system, + inputs, ... }: let inherit (lib) mkIf; - cfg = config.desktops; + cfg = config.desktops.ly; in { - config = mkIf cfg.ly { + config = mkIf cfg.enable { # display manager services.displayManager.ly = { enable = true; - package = self.packages.${system}.ly; + package = inputs.self.packages.${pkgs.system}.ly; settings = let base = "0x00${config.theme.colors.base}"; diff --git a/modules/desktops/sway/default.nix b/system/desktops/sway.nix index be3766d..622d54c 100644 --- a/modules/desktops/sway/default.nix +++ b/system/desktops/sway.nix @@ -5,16 +5,10 @@ ... }: let inherit (lib) mkIf mkDefault; - cfg = config.desktops; + cfg = config.desktops.sway; in { - imports = [ - ./binds.nix - ./config.nix - ./idle.nix - ]; - - config = mkIf cfg.sway { - desktops.wayland = true; + config = mkIf cfg.enable { + desktops.wayland.enable = true; # TODO: set NIXOS_OZONE_WL env var @@ -35,18 +29,5 @@ in { gtk = false; }; }; - - home-manager.users.${config.user} = { - wayland.windowManager.sway = { - enable = true; - package = pkgs.swayfx; - - # TODO: get swayfx to work with check config - checkConfig = false; - - xwayland = true; - systemd.enable = true; - }; - }; }; } diff --git a/modules/desktops/wayland.nix b/system/desktops/wayland.nix index 600651f..8a81fdf 100644 --- a/modules/desktops/wayland.nix +++ b/system/desktops/wayland.nix @@ -5,9 +5,9 @@ ... }: let inherit (lib) mkIf; - cfg = config.desktops; + cfg = config.desktops.wayland; in { - config = mkIf cfg.wayland { + config = mkIf cfg.enable { xdg.portal = { enable = true; xdgOpenUsePortal = true; diff --git a/system/fingerprint.nix b/system/fingerprint.nix index d95e929..cbf8f24 100644 --- a/system/fingerprint.nix +++ b/system/fingerprint.nix @@ -1,8 +1,8 @@ { lib, + pkgs, config, - self, - system, + inputs, ... }: let inherit (lib) mkIf; @@ -11,7 +11,7 @@ in { services.fprintd = { enable = true; tod.enable = true; - tod.driver = self.packages.${system}.libfprint-2-tod1-vfs0090; + tod.driver = inputs.self.packages.${pkgs.system}.libfprint-2-tod1-vfs0090; }; }; } diff --git a/system/gaming/default.nix b/system/gaming/default.nix new file mode 100644 index 0000000..acb0a1f --- /dev/null +++ b/system/gaming/default.nix @@ -0,0 +1,5 @@ +{...}: { + imports = [ + ./steam.nix + ]; +} diff --git a/modules/gaming/steam.nix b/system/gaming/steam.nix index 53ab252..cd243e5 100644 --- a/modules/gaming/steam.nix +++ b/system/gaming/steam.nix @@ -4,9 +4,9 @@ ... }: let inherit (lib) mkIf; - cfg = config.gaming; + cfg = config.gaming.steam; in { - config = mkIf cfg.steam { + config = mkIf cfg.enable { nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "steam" diff --git a/system/sshd.nix b/system/sshd.nix index a1ca2f2..e7f64d8 100644 --- a/system/sshd.nix +++ b/system/sshd.nix @@ -1,7 +1,7 @@ { lib, config, - self, + inputs, ... }: let inherit (lib) mkIf; @@ -34,7 +34,7 @@ in { # add authorized keys users.users.${config.user} = { - openssh.authorizedKeys.keyFiles = self.lib.sshKeys; + openssh.authorizedKeys.keyFiles = inputs.self.lib.sshKeys; }; }; } diff --git a/system/virt/default.nix b/system/virt/default.nix new file mode 100644 index 0000000..18be703 --- /dev/null +++ b/system/virt/default.nix @@ -0,0 +1,6 @@ +{...}: { + imports = [ + ./docker.nix + ./qemu.nix + ]; +} diff --git a/modules/virt/docker.nix b/system/virt/docker.nix index 5930858..2505df4 100644 --- a/modules/virt/docker.nix +++ b/system/virt/docker.nix @@ -5,9 +5,9 @@ ... }: let inherit (lib) mkIf; - cfg = config.virt; + cfg = config.virt.docker; in { - config = mkIf cfg.docker { + config = mkIf cfg.enable { virtualisation.docker.enable = true; virtualisation.docker.storageDriver = "btrfs"; users.groups.docker.members = [config.user]; diff --git a/modules/virt/qemu.nix b/system/virt/qemu.nix index f755952..6c068e4 100644 --- a/modules/virt/qemu.nix +++ b/system/virt/qemu.nix @@ -5,9 +5,9 @@ ... }: let inherit (lib) mkIf; - cfg = config.virt; + cfg = config.virt.qemu; in { - config = mkIf cfg.qemu { + config = mkIf cfg.enable { programs.virt-manager.enable = true; users.groups.kvm.members = [config.user]; users.groups.libvirtd.members = [config.user]; |