switched to default.nix for system-config
This commit is contained in:
8
system-config/default.nix
Executable file
8
system-config/default.nix
Executable file
@@ -0,0 +1,8 @@
|
||||
{ config, lib, pkgs, inputs, ... }: {
|
||||
|
||||
imports = [
|
||||
./services
|
||||
./packages
|
||||
./programs
|
||||
];
|
||||
}
|
||||
@@ -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";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
11
system-config/programs/default.nix
Normal file
11
system-config/programs/default.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ config, lib, pkgs, ... }: {
|
||||
|
||||
imports = [
|
||||
./hyprland
|
||||
./ags
|
||||
./git
|
||||
./nh
|
||||
./steam
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
24
system-config/programs/hyprland/default.nix
Normal file
24
system-config/programs/hyprland/default.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
@@ -7,5 +7,6 @@
|
||||
./pipewire
|
||||
./containers
|
||||
./minecraft
|
||||
./sddm
|
||||
];
|
||||
}
|
||||
|
||||
25
system-config/services/sddm/default.nix
Normal file
25
system-config/services/sddm/default.nix
Normal 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
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
42
system-config/services/sddm/flake.lock
generated
42
system-config/services/sddm/flake.lock
generated
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -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/
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
}
|
||||
@@ -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/
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user