summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--system/default.nix34
-rw-r--r--system/desktops/default.nix8
-rw-r--r--system/desktops/hyprland.nix29
-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.nix6
-rw-r--r--system/gaming/default.nix5
-rw-r--r--system/gaming/steam.nix (renamed from modules/gaming/steam.nix)4
-rw-r--r--system/sshd.nix4
-rw-r--r--system/virt/default.nix6
-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];