switched to default.nix for system-config
This commit is contained in:
36
flake.nix
36
flake.nix
@@ -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
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
|
./pipewire
|
||||||
./containers
|
./containers
|
||||||
./minecraft
|
./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