From 1689da5b5610727331cbc499de16fadf59716b9d Mon Sep 17 00:00:00 2001 From: Nathan Date: Sun, 12 Jan 2025 09:23:28 -0600 Subject: [PATCH] switched to default.nix for system-config --- flake.nix | 36 ++++++++++++++++ system-config/default.nix | 8 ++++ system-config/flake.nix | 38 ----------------- system-config/programs/default.nix | 11 +++++ system-config/programs/flake.nix | 23 ---------- system-config/programs/hyprland/default.nix | 24 +++++++++++ system-config/programs/hyprland/flake.nix | 39 ----------------- system-config/services/default.nix | 1 + system-config/services/sddm/default.nix | 25 +++++++++++ system-config/services/sddm/flake.lock | 42 ------------------- system-config/services/sddm/flake.nix | 38 ----------------- .../services/sddm/themes/sugar-dark/flake.nix | 29 ------------- .../sddm/themes/tokyo-night/flake.lock | 27 ------------ .../sddm/themes/tokyo-night/flake.nix | 29 ------------- 14 files changed, 105 insertions(+), 265 deletions(-) create mode 100755 system-config/default.nix delete mode 100755 system-config/flake.nix create mode 100644 system-config/programs/default.nix delete mode 100644 system-config/programs/flake.nix create mode 100644 system-config/programs/hyprland/default.nix delete mode 100644 system-config/programs/hyprland/flake.nix create mode 100644 system-config/services/sddm/default.nix delete mode 100644 system-config/services/sddm/flake.lock delete mode 100644 system-config/services/sddm/flake.nix delete mode 100644 system-config/services/sddm/themes/sugar-dark/flake.nix delete mode 100644 system-config/services/sddm/themes/tokyo-night/flake.lock delete mode 100644 system-config/services/sddm/themes/tokyo-night/flake.nix diff --git a/flake.nix b/flake.nix index 89690eb..06dedb5 100644 --- a/flake.nix +++ b/flake.nix @@ -33,6 +33,15 @@ #simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.05"; system.url = "./system-config"; + hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; + tokyo-night-sddm = { + url = "github:siddrs/tokyo-night-sddm"; + flake = false; + }; + sugar-dark-sddm = { + url = "github:MarianArlt/sddm-sugar-dark"; + flake = false; + }; nixvim.url = "/home/nathan/Projects/Nixvim"; @@ -42,6 +51,33 @@ outputs = { nixpkgs, ... } @ inputs: { + + tokyo-night-sddm-theme = { pkgs }: pkgs.stdenv.mkDerivation { + + name = "tokyo-night"; + + src = inputs.tokyo-night-sddm; + + installPhase = '' + mkdir -p $out + cp -R $src/* $out/ + ''; + + }; + sugar-dark-sddm-theme = { pkgs }: pkgs.stdenv.mkDerivation { + + name = "sugar-dark"; + + src = inputs.sugar-dark-sddm; + + installPhase = '' + mkdir -p $out + cp -R $src/* $out/ + ''; + + }; + + nixosConfigurations.homebox = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ diff --git a/system-config/default.nix b/system-config/default.nix new file mode 100755 index 0000000..080c7cb --- /dev/null +++ b/system-config/default.nix @@ -0,0 +1,8 @@ +{ config, lib, pkgs, inputs, ... }: { + + imports = [ + ./services + ./packages + ./programs + ]; +} diff --git a/system-config/flake.nix b/system-config/flake.nix deleted file mode 100755 index 0bfd49f..0000000 --- a/system-config/flake.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - description = "Unified System Configuration"; - - inputs = { - - prgms.url = "./programs"; - - sddm.url = "./services/sddm"; - - }; - - outputs = { self, ... }@attrs: { - - nixosModule = { config, lib, pkgs, inputs, ... }: { - imports = [ - ./services - ./packages - attrs.prgms.module - attrs.sddm.module - ]; - - options = { - sysconfig.opts = { - host = lib.options.mkOption { - type = lib.types.str; - default = null; - }; - username = lib.options.mkOption { - type = lib.types.str; - default = "nathan"; - }; - }; - }; - }; - - }; - -} diff --git a/system-config/programs/default.nix b/system-config/programs/default.nix new file mode 100644 index 0000000..63fe80f --- /dev/null +++ b/system-config/programs/default.nix @@ -0,0 +1,11 @@ +{ config, lib, pkgs, ... }: { + + imports = [ + ./hyprland + ./ags + ./git + ./nh + ./steam + ]; +} + diff --git a/system-config/programs/flake.nix b/system-config/programs/flake.nix deleted file mode 100644 index e3cf783..0000000 --- a/system-config/programs/flake.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - description = "System program config"; - - inputs = { - - hyprland.url = "./hyprland"; - }; - - outputs = { self, ... }@inputs: { - - module = { config, lib, pkgs, ... }: { - - imports = [ - inputs.hyprland.module - ./ags - ./git - ./nh - ./steam - ]; - }; - - }; -} diff --git a/system-config/programs/hyprland/default.nix b/system-config/programs/hyprland/default.nix new file mode 100644 index 0000000..64d1ea7 --- /dev/null +++ b/system-config/programs/hyprland/default.nix @@ -0,0 +1,24 @@ +{ config, lib, pkgs, inputs, ... }: { + + options.sysconfig.opts.hyprland.enable = lib.options.mkOption { + type = lib.types.bool; + default = false; + }; + + config = lib.mkIf config.sysconfig.opts.hyprland.enable { + + sysconfig.opts.sddm.enable = lib.mkDefault true; + + environment.sessionVariables.NIXOS_OZONE_WL = "1"; + + programs.hyprland = { + enable = true; + + xwayland.enable = true; + + package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; + + portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; + }; + }; +} diff --git a/system-config/programs/hyprland/flake.nix b/system-config/programs/hyprland/flake.nix deleted file mode 100644 index a182b48..0000000 --- a/system-config/programs/hyprland/flake.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ - description = "Hyprland Config"; - - inputs = { - hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; - }; - - outputs = { self, ... }@inputs: { - - module = { config, lib, pkgs, ... }: { - - options.sysconfig.opts.hyprland.enable = lib.options.mkOption { - - type = lib.types.bool; - default = false; - }; - - config = lib.mkIf config.sysconfig.opts.hyprland.enable { - - sysconfig.opts.sddm.enable = lib.mkDefault true; - - environment.sessionVariables.NIXOS_OZONE_WL = "1"; - - programs.hyprland = { - enable = true; - - xwayland.enable = true; - - package = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland; - - portalPackage = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland; - }; - }; - - - }; - - }; -} diff --git a/system-config/services/default.nix b/system-config/services/default.nix index fa4103e..e74597d 100644 --- a/system-config/services/default.nix +++ b/system-config/services/default.nix @@ -7,5 +7,6 @@ ./pipewire ./containers ./minecraft + ./sddm ]; } diff --git a/system-config/services/sddm/default.nix b/system-config/services/sddm/default.nix new file mode 100644 index 0000000..17ee6cc --- /dev/null +++ b/system-config/services/sddm/default.nix @@ -0,0 +1,25 @@ +{ config, lib, pkgs, inputs, ... }: { + + options.sysconfig.opts.sddm.enable = lib.mkOption { + type = lib.types.bool; + default = false; + }; + + config = lib.mkIf config.sysconfig.opts.sddm.enable { + + qt.enable = true; + + services.displayManager.sddm = { + enable = true; + wayland.enable = true; + autoNumlock = true; + theme = "${inputs.tokyo-night-sddm-theme { inherit pkgs; }}"; + enableHidpi = true; + extraPackages = with pkgs; [ + libsForQt5.qtsvg + libsForQt5.qtquickcontrols2 + libsForQt5.qtgraphicaleffects + ]; + }; + }; +} diff --git a/system-config/services/sddm/flake.lock b/system-config/services/sddm/flake.lock deleted file mode 100644 index 00a813d..0000000 --- a/system-config/services/sddm/flake.lock +++ /dev/null @@ -1,42 +0,0 @@ -{ - "nodes": { - "repo": { - "flake": false, - "locked": { - "lastModified": 1686823900, - "narHash": "sha256-JRVVzyefqR2L3UrEK2iWyhUKfPMUNUnfRZmwdz05wL0=", - "owner": "siddrs", - "repo": "tokyo-night-sddm", - "rev": "320c8e74ade1e94f640708eee0b9a75a395697c6", - "type": "github" - }, - "original": { - "owner": "siddrs", - "repo": "tokyo-night-sddm", - "type": "github" - } - }, - "root": { - "inputs": { - "theme": "theme" - } - }, - "theme": { - "inputs": { - "repo": "repo" - }, - "locked": { - "lastModified": 1, - "narHash": "sha256-eXmGZXA4mlXGERWWjh2QZCQV8GphWPf+yKt+Fg16OOI=", - "path": "/nix/store/dfaqxn91asadchiwlldsjvjr24jypbd8-source/themes/tokyo-night", - "type": "path" - }, - "original": { - "path": "/nix/store/dfaqxn91asadchiwlldsjvjr24jypbd8-source/themes/tokyo-night", - "type": "path" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/system-config/services/sddm/flake.nix b/system-config/services/sddm/flake.nix deleted file mode 100644 index 779bd21..0000000 --- a/system-config/services/sddm/flake.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - description = "sddm config"; - - inputs = { - - theme.url = "./themes/tokyo-night"; - - }; - - outputs = { self, ... }@inputs: { - - module = { config, lib, pkgs, ... }: { - - options.sysconfig.opts.sddm.enable = lib.mkOption { - type = lib.types.bool; - default = false; - }; - - config = lib.mkIf config.sysconfig.opts.sddm.enable { - - qt.enable = true; - - services.displayManager.sddm = { - enable = true; - wayland.enable = true; - autoNumlock = true; - theme = "${inputs.theme.theme { inherit pkgs; }}"; - enableHidpi = true; - extraPackages = with pkgs; [ - libsForQt5.qtsvg - libsForQt5.qtquickcontrols2 - libsForQt5.qtgraphicaleffects - ]; - }; - }; - }; - }; -} diff --git a/system-config/services/sddm/themes/sugar-dark/flake.nix b/system-config/services/sddm/themes/sugar-dark/flake.nix deleted file mode 100644 index 2250ae2..0000000 --- a/system-config/services/sddm/themes/sugar-dark/flake.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - description = "Package Sugar Dark SDDM theme"; - - inputs = { - - repo = { - url = "github:MarianArlt/sddm-sugar-dark"; - flake = false; - }; - - }; - - outputs = { self, repo, ... }: { - - theme = { pkgs }: pkgs.stdenv.mkDerivation { - - name = "sugar-dark"; - - src = repo; - - installPhase = '' - mkdir -p $out - cp -R $src/* $out/ - ''; - - }; - - }; -} diff --git a/system-config/services/sddm/themes/tokyo-night/flake.lock b/system-config/services/sddm/themes/tokyo-night/flake.lock deleted file mode 100644 index 7fc9bd4..0000000 --- a/system-config/services/sddm/themes/tokyo-night/flake.lock +++ /dev/null @@ -1,27 +0,0 @@ -{ - "nodes": { - "repo": { - "flake": false, - "locked": { - "lastModified": 1686823900, - "narHash": "sha256-JRVVzyefqR2L3UrEK2iWyhUKfPMUNUnfRZmwdz05wL0=", - "owner": "siddrs", - "repo": "tokyo-night-sddm", - "rev": "320c8e74ade1e94f640708eee0b9a75a395697c6", - "type": "github" - }, - "original": { - "owner": "siddrs", - "repo": "tokyo-night-sddm", - "type": "github" - } - }, - "root": { - "inputs": { - "repo": "repo" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/system-config/services/sddm/themes/tokyo-night/flake.nix b/system-config/services/sddm/themes/tokyo-night/flake.nix deleted file mode 100644 index d652e28..0000000 --- a/system-config/services/sddm/themes/tokyo-night/flake.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ - description = "Package Tokyo Night SDDM theme"; - - inputs = { - - repo = { - url = "github:siddrs/tokyo-night-sddm"; - flake = false; - }; - - }; - - outputs = { self, repo, ... }: { - - theme = { pkgs }: pkgs.stdenv.mkDerivation { - - name = "tokyo-night"; - - src = repo; - - installPhase = '' - mkdir -p $out - cp -R $src/* $out/ - ''; - - }; - - }; -}