switched to default.nix for system-config

This commit is contained in:
2025-01-12 09:23:28 -06:00
parent c3bd247e25
commit 1689da5b56
14 changed files with 105 additions and 265 deletions

View File

@@ -33,6 +33,15 @@
#simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.05"; #simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.05";
system.url = "./system-config"; 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"; nixvim.url = "/home/nathan/Projects/Nixvim";
@@ -42,6 +51,33 @@
outputs = { nixpkgs, ... } @ inputs: 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 { nixosConfigurations.homebox = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = [ modules = [

8
system-config/default.nix Executable file
View File

@@ -0,0 +1,8 @@
{ config, lib, pkgs, inputs, ... }: {
imports = [
./services
./packages
./programs
];
}

View File

@@ -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";
};
};
};
};
};
}

View File

@@ -0,0 +1,11 @@
{ config, lib, pkgs, ... }: {
imports = [
./hyprland
./ags
./git
./nh
./steam
];
}

View File

@@ -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
];
};
};
}

View File

@@ -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;
};
};
}

View File

@@ -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;
};
};
};
};
}

View File

@@ -7,5 +7,6 @@
./pipewire ./pipewire
./containers ./containers
./minecraft ./minecraft
./sddm
]; ];
} }

View File

@@ -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
];
};
};
}

View File

@@ -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
}

View File

@@ -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
];
};
};
};
};
}

View File

@@ -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/
'';
};
};
}

View File

@@ -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
}

View File

@@ -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/
'';
};
};
}