feat: sddm module

This commit is contained in:
Artur Manuel 2024-10-16 17:01:46 +01:00
commit 2c70c86c8e
7 changed files with 172 additions and 69 deletions

View file

@ -1,5 +1,6 @@
{...}: {
imports = [
./fish.nix
./sddm.nix
];
}

25
computers/shared/sddm.nix Normal file
View file

@ -0,0 +1,25 @@
{
config,
pkgs,
lib,
...
}: let
cfg = config.alqueva.sddm;
in {
options.alqueva.sddm = {
enable = lib.mkEnableOption "sddm";
};
config = lib.mkIf cfg.enable {
services.displayManager.sddm = {
wayland = {
enable = true;
compositor = "kwin";
};
enable = true;
theme = "where_is_my_sddm_theme";
};
environment.systemPackages = [
pkgs.i-found-my-sddm-theme
];
};
}

View file

@ -4,80 +4,71 @@
./disks.nix
];
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
config = {
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
console = {
font = "Lat2-Terminus16";
keyMap = "us";
};
console = {
font = "Lat2-Terminus16";
keyMap = "us";
};
services = {
displayManager.sddm = {
wayland = {
services = {
desktopManager.plasma6 = {
enable = true;
compositor = "kwin";
enableQt5Integration = false;
notoPackage = pkgs.noto-fonts-lgc-plus;
};
extraPackages = [
pkgs.where-is-my-sddm-theme
];
enable = true;
theme = "where_is_my_sddm_theme";
pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
wireplumber.enable = true;
};
xserver.xkb = {
layout = "us";
options = "eurosign:e,ctrl:nocaps";
};
libinput.enable = true;
openssh.enable = true;
};
desktopManager.plasma6 = {
enable = true;
enableQt5Integration = false;
notoPackage = pkgs.noto-fonts-lgc-plus;
};
pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
wireplumber.enable = true;
};
xserver.xkb = {
layout = "us";
options = "eurosign:e,ctrl:nocaps";
};
libinput.enable = true;
openssh.enable = true;
};
programs = {
git = {
enable = true;
config = {
user = {
name = "Artur Manuel";
email = "balkenix@outlook.com";
signingKey = "~/.ssh/id_ed25519";
programs = {
git = {
enable = true;
config = {
user = {
name = "Artur Manuel";
email = "balkenix@outlook.com";
signingKey = "~/.ssh/id_ed25519";
};
};
};
neovim.enable = true;
chromium.enable = true;
};
neovim.enable = true;
chromium.enable = true;
};
environment.systemPackages = builtins.attrValues {
inherit
(pkgs)
nil
statix
deadnix
chromium
alejandra
wget
;
};
environment.systemPackages = builtins.attrValues {
inherit
(pkgs)
nil
statix
deadnix
chromium
alejandra
wget
;
};
networking.networkmanager.enable = true;
time.timeZone = "Europe/London";
i18n.defaultLocale = "en_GB.UTF-8";
system.stateVersion = "24.11";
alqueva.sddm.enable = true;
networking.networkmanager.enable = true;
time.timeZone = "Europe/London";
i18n.defaultLocale = "en_GB.UTF-8";
system.stateVersion = "24.11";
};
}

59
flake.lock generated
View file

@ -5,11 +5,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1729010169,
"narHash": "sha256-AjgIlXcreagCs6ltT8mzI1UYEiYgfhlwe4Tl3taxQSU=",
"lastModified": 1729070567,
"narHash": "sha256-r3KMTeBLioUtRPRFjdWbpZqfMmQHr6Dj9vjGaj4OhP8=",
"owner": "nix-community",
"repo": "disko",
"rev": "9ab6ae4e632016caac1c7e82e15b12b8c672ed76",
"rev": "c8760cee70cf166ad6bcee0bd9f0bba934a3a651",
"type": "github"
},
"original": {
@ -160,12 +160,63 @@
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1725103162,
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"disko": "disko",
"flake-parts": "flake-parts",
"git-hooks-nix": "git-hooks-nix",
"nixpkgs": "nixpkgs_3"
"nixpkgs": "nixpkgs_3",
"wallpkgs": "wallpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"wallpkgs": {
"inputs": {
"nixpkgs": "nixpkgs_4",
"systems": "systems"
},
"locked": {
"lastModified": 1728261155,
"narHash": "sha256-bDnPyjl8/EsMPQE2dweWiOkpJ7zYI8LhrVEGx0luquk=",
"owner": "notashelf",
"repo": "wallpkgs",
"rev": "81459dfc37c4420b7908a90a333d2643f24bec33",
"type": "github"
},
"original": {
"owner": "notashelf",
"repo": "wallpkgs",
"type": "github"
}
}
},

View file

@ -23,6 +23,11 @@
owner = "nix-community";
repo = "disko";
};
wallpkgs = {
type = "github";
owner = "notashelf";
repo = "wallpkgs";
};
};
outputs = inputs @ {
nixpkgs,
@ -38,6 +43,7 @@
systems = ["x86_64-linux"];
imports = [
./computers
./overlays
inputs.git-hooks-nix.flakeModule
];
perSystem = {

View file

@ -39,6 +39,9 @@
rebs = "nixos-rebuild --use-remote-sudo switch --flake .#${host}";
rebt = "nixos-rebuild --use-remote-sudo test --flake .#${host}";
};
nixpkgs.overlays = [
inputs.self.overlays.default
];
networking.hostName = host;
};
})

26
overlays/default.nix Normal file
View file

@ -0,0 +1,26 @@
{inputs, ...}: {
flake.overlays.default = _final: prev: {
i-found-my-sddm-theme = prev.where-is-my-sddm-theme.override {
themeConfig.General = {
backgroundFill = "#161616";
basicTextColor = "#f2f4f8";
};
};
};
perSystem = {
pkgs,
system,
...
}: {
_module.args.pkgs = import inputs.nixpkgs {
inherit system;
overlays = [
inputs.self.overlays.default
];
};
packages = {
inherit (pkgs) i-found-my-sddm-theme;
};
};
}