feat: update laptop config

This commit is contained in:
Nickolaj Jepsen 2025-12-27 00:32:56 +01:00
parent d769b830a2
commit 623d8c9576
16 changed files with 117 additions and 105 deletions

150
flake.lock generated
View file

@ -47,7 +47,7 @@
"type": "github"
}
},
"dankMaterialShell": {
"dank-material-shell": {
"inputs": {
"dgop": [
"dgop"
@ -58,11 +58,11 @@
"quickshell": "quickshell"
},
"locked": {
"lastModified": 1765916864,
"narHash": "sha256-mXKYRVK5YndrvgbIKCyz4BRuLkyEqgceF/djXmA6cD8=",
"lastModified": 1766778227,
"narHash": "sha256-lLB5HYtm/L7szUN2baA29tii5c+vxTvgeCiB4oOe980=",
"owner": "AvengeMedia",
"repo": "DankMaterialShell",
"rev": "672754b0b5efd9e61ea8080c40614ad3b4fd5dbf",
"rev": "1194f3ffb8f415ea77d52193da8da7631b85b87c",
"type": "github"
},
"original": {
@ -102,12 +102,12 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1765254444,
"narHash": "sha256-kAO/ZeBnjaF+uqOP6qweXlRk2ylocLuv/9Dn8FsuPlU=",
"rev": "3ccc0297525e51ac3d7905509e0616c9c8350108",
"revCount": 316,
"lastModified": 1766549083,
"narHash": "sha256-G1Hljg7vIBt8n9cxO382YAZWtZU/mYfQcg3icdNG8RQ=",
"rev": "ba8999fac986e70f52b4cba15047be7bbb7b6346",
"revCount": 318,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.14.0/019b0160-c5de-7941-9c26-cb47bc17eec3/source.tar.gz"
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/determinate/3.15.1/019b4e8a-dc22-75db-aef5-a447efbb1a13/source.tar.gz"
},
"original": {
"type": "tarball",
@ -117,37 +117,37 @@
"determinate-nixd-aarch64-darwin": {
"flake": false,
"locked": {
"narHash": "sha256-6PWoqx52nvlWzlElTjcn7KAPKitfcKZYEFSsC3PoEoE=",
"narHash": "sha256-uWDS94cAYprGj+AwuT42nuuDDicRLj1S0JwalZGeBRU=",
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.14.0/macOS"
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/macOS"
},
"original": {
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.14.0/macOS"
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/macOS"
}
},
"determinate-nixd-aarch64-linux": {
"flake": false,
"locked": {
"narHash": "sha256-b1e25BUPL7Qf0QVbYlfZ/+QiClrP/SHIjMPtA47aOLc=",
"narHash": "sha256-uHBcZCh2/Bj5/88TDihupA336tSQDk7s5lVP66IDAX0=",
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.14.0/aarch64-linux"
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/aarch64-linux"
},
"original": {
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.14.0/aarch64-linux"
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/aarch64-linux"
}
},
"determinate-nixd-x86_64-linux": {
"flake": false,
"locked": {
"narHash": "sha256-8EI2f8IftPcRFlR6K4+cpIEAVf5UIeMCjHysEtVqDw0=",
"narHash": "sha256-y+l05H6GNv/1WcrMztDYem8VBWqjc9gNg4WjeQ1PQxo=",
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.14.0/x86_64-linux"
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/x86_64-linux"
},
"original": {
"type": "file",
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.14.0/x86_64-linux"
"url": "https://install.determinate.systems/determinate-nixd/tag/v3.15.1/x86_64-linux"
}
},
"devshell": {
@ -198,11 +198,11 @@
]
},
"locked": {
"lastModified": 1765794845,
"narHash": "sha256-YD5QWlGnusNbZCqR3pxG8tRxx9yUXayLZfAJRWspq2s=",
"lastModified": 1766150702,
"narHash": "sha256-P0kM+5o+DKnB6raXgFEk3azw8Wqg5FL6wyl9jD+G5a4=",
"owner": "nix-community",
"repo": "disko",
"rev": "7194cfe5b7a3660726b0fe7296070eaef601cae9",
"rev": "916506443ecd0d0b4a0f4cf9d40a3c22ce39b378",
"type": "github"
},
"original": {
@ -418,11 +418,11 @@
]
},
"locked": {
"lastModified": 1765859973,
"narHash": "sha256-LN5O0h9GSgcDE/sz4+sLS3CbQALru1x4lh9hrxpeHwI=",
"lastModified": 1766553861,
"narHash": "sha256-ZbnG01yA3O8Yr1vUm3+NQ2qk9iRhS5bloAnuXHHy7+c=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "7df150f0d3857cf68dae443813b27acfb201b2d8",
"rev": "0999ed8f965bbbd991437ad9c5ed3434cecbc30e",
"type": "github"
},
"original": {
@ -444,11 +444,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1765867692,
"narHash": "sha256-zuAmnzaB5uDqgXh/Y/Cx+zBef2lYKoVAPYErXQfk/4A=",
"lastModified": 1766765523,
"narHash": "sha256-DCk3GKdKZNjpvNuDy9ZVfVwCy3tlm96/UZnYkJO7N44=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "603ea180e61c6ef143b789a3eaca12ffdfc7c60a",
"rev": "a3e638c75d07de759421e6f34bd69c3f9a0a3567",
"type": "github"
},
"original": {
@ -477,11 +477,11 @@
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1765861551,
"narHash": "sha256-1Bo86J/7nm8sndZz9gGW0agydYzLYimdz9aQEhnf1zY=",
"lastModified": 1766751930,
"narHash": "sha256-83/YSW6c58i/iwGzAFApuMy6MCgoIaROeCcoIGh+ViU=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "2641356d41199a40ccc9a2e9f61bd34d7e7c8220",
"rev": "b5640d5293ad8dca06cb447692ea7cbb21680eb1",
"type": "github"
},
"original": {
@ -499,12 +499,12 @@
"nixpkgs-regression": "nixpkgs-regression"
},
"locked": {
"lastModified": 1765252170,
"narHash": "sha256-p98D44tYJMgB5Qet5S8cTQFdffk/GmoaGkpQtZ3hqJU=",
"rev": "1ddd28880651054346c34009d7bb9de36f1db2c1",
"revCount": 23362,
"lastModified": 1766546676,
"narHash": "sha256-GsC52VFF9Gi2pgP/haQyPdQoF5Qe2myk1tsPcuJZI28=",
"rev": "51dacdd248e8071cd0243a8245c8c42ac1f33307",
"revCount": 24299,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.14.0/019b0159-8907-7fab-a120-9d287c7e6d2e/source.tar.gz"
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nix-src/3.15.1/019b4e84-d036-75db-b6c6-6bc2e2035c53/source.tar.gz"
},
"original": {
"type": "tarball",
@ -536,11 +536,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1765850658,
"narHash": "sha256-WMxrG7K5kQQS0dc8b8WDdwKyBYokRc0Ssa1gIcAigBs=",
"lastModified": 1766714990,
"narHash": "sha256-vrS4gICB41cq+/nTsp6uGVJ8RiaRGr7ywoeAA9E16cw=",
"owner": "nix-community",
"repo": "nix-vscode-extensions",
"rev": "3117a5178ba33eafea691756cca52ab250f2a5a9",
"rev": "90d526878f7b905448c331b143f37065ed509381",
"type": "github"
},
"original": {
@ -566,11 +566,11 @@
},
"nixos-facter-modules": {
"locked": {
"lastModified": 1765442039,
"narHash": "sha256-k3lYQ+A1F7aTz8HnlU++bd9t/x/NP2A4v9+x6opcVg0=",
"lastModified": 1766558141,
"narHash": "sha256-Ud9v49ZPsoDBFuyJSQ2Mpw1ZgAH/aMwUwwzrVoetNus=",
"owner": "numtide",
"repo": "nixos-facter-modules",
"rev": "9dd775ee92de63f14edd021d59416e18ac2c00f1",
"rev": "e796d536e3d83de74267069e179dc620a608ed7d",
"type": "github"
},
"original": {
@ -670,11 +670,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1765762245,
"narHash": "sha256-3iXM/zTqEskWtmZs3gqNiVtRTsEjYAedIaLL0mSBsrk=",
"lastModified": 1766736597,
"narHash": "sha256-BASnpCLodmgiVn0M1MU2Pqyoz0aHwar/0qLkp7CjvSQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c8cfcd6ccd422e41cc631a0b73ed4d5a925c393d",
"rev": "f560ccec6b1116b22e6ed15f4c510997d99d5852",
"type": "github"
},
"original": {
@ -686,11 +686,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1765779637,
"narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=",
"lastModified": 1766651565,
"narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "1306659b587dc277866c7b69eb97e5f07864d8c4",
"rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539",
"type": "github"
},
"original": {
@ -702,12 +702,12 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1764611609,
"narHash": "sha256-yU9BNcP0oadUKupw0UKmO9BKDOVIg9NStdJosEbXf8U=",
"rev": "8c29968b3a942f2903f90797f9623737c215737c",
"revCount": 905078,
"lastModified": 1766314097,
"narHash": "sha256-laJftWbghBehazn/zxVJ8NdENVgjccsWAdAqKXhErrM=",
"rev": "306ea70f9eb0fb4e040f8540e2deab32ed7e2055",
"revCount": 914780,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.905078%2Brev-8c29968b3a942f2903f90797f9623737c215737c/019add91-3add-7a0d-8a25-9569cbe01efe/source.tar.gz"
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/nixpkgs-weekly/0.1.914780%2Brev-306ea70f9eb0fb4e040f8540e2deab32ed7e2055/019b49b8-ed0f-724e-bdaf-5fd90cc1c590/source.tar.gz"
},
"original": {
"type": "tarball",
@ -716,27 +716,27 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1759770925,
"narHash": "sha256-CZwkCtzTNclqlhuwDsVtGoRumTpqCUK0xSnFIMgd8ls=",
"lastModified": 1766025857,
"narHash": "sha256-Lav5jJazCW4mdg1iHcROpuXqmM94BWJvabLFWaJVJp0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "674c2b09c59a220204350ced584cadaacee30038",
"rev": "def3da69945bbe338c373fddad5a1bb49cf199ce",
"type": "github"
},
"original": {
"owner": "nixos",
"repo": "nixpkgs",
"rev": "674c2b09c59a220204350ced584cadaacee30038",
"rev": "def3da69945bbe338c373fddad5a1bb49cf199ce",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1765762245,
"narHash": "sha256-3iXM/zTqEskWtmZs3gqNiVtRTsEjYAedIaLL0mSBsrk=",
"lastModified": 1766736597,
"narHash": "sha256-BASnpCLodmgiVn0M1MU2Pqyoz0aHwar/0qLkp7CjvSQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c8cfcd6ccd422e41cc631a0b73ed4d5a925c393d",
"rev": "f560ccec6b1116b22e6ed15f4c510997d99d5852",
"type": "github"
},
"original": {
@ -770,11 +770,11 @@
]
},
"locked": {
"lastModified": 1765918270,
"narHash": "sha256-TbNcuaNCIRp4ZcZBQ1lyXW6GMyHhY5+gWCHqKTLZ3So=",
"lastModified": 1766780100,
"narHash": "sha256-U9aQ6Q4TpagYcTwo3mTBhtwtqAAaA0e4osFR1uDy2Sc=",
"owner": "nix-community",
"repo": "NUR",
"rev": "e62aaff51af4cbc43149a71b67931005416d1138",
"rev": "21fb531e44293b5d577b4c70c2c4f3a9419e1a68",
"type": "github"
},
"original": {
@ -809,21 +809,21 @@
"quickshell": {
"inputs": {
"nixpkgs": [
"dankMaterialShell",
"dank-material-shell",
"nixpkgs"
]
},
"locked": {
"lastModified": 1764663772,
"narHash": "sha256-sHqLmm0wAt3PC4vczJeBozI1/f4rv9yp3IjkClHDXDs=",
"lastModified": 1766386896,
"narHash": "sha256-1uql4y229Rh+/2da99OVNe6DfsjObukXkf60TYRCvhI=",
"ref": "refs/heads/master",
"rev": "26531fc46ef17e9365b03770edd3fb9206fcb460",
"revCount": 713,
"rev": "3918290c1bcd93ed81291844d9f1ed146672dbfc",
"revCount": 714,
"type": "git",
"url": "https://git.outfoxxed.me/quickshell/quickshell"
},
"original": {
"rev": "26531fc46ef17e9365b03770edd3fb9206fcb460",
"rev": "3918290c1bcd93ed81291844d9f1ed146672dbfc",
"type": "git",
"url": "https://git.outfoxxed.me/quickshell/quickshell"
}
@ -832,7 +832,7 @@
"inputs": {
"agenix": "agenix",
"agenix-rekey": "agenix-rekey",
"dankMaterialShell": "dankMaterialShell",
"dank-material-shell": "dank-material-shell",
"determinate": "determinate",
"dgop": "dgop",
"disko": "disko",
@ -891,11 +891,11 @@
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1762938485,
"narHash": "sha256-AlEObg0syDl+Spi4LsZIBrjw+snSVU4T8MOeuZJUJjM=",
"lastModified": 1766000401,
"narHash": "sha256-+cqN4PJz9y0JQXfAK5J1drd0U05D5fcAGhzhfVrDlsI=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "5b4ee75aeefd1e2d5a1cc43cf6ba65eba75e83e4",
"rev": "42d96e75aa56a3f70cab7e7dc4a32868db28e8fd",
"type": "github"
},
"original": {
@ -924,11 +924,11 @@
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1765858323,
"narHash": "sha256-pRyLIpUN56iG3ipPh5Pcwb2tSXFNr8kMYZNEO5kglsI=",
"lastModified": 1766429945,
"narHash": "sha256-9Kv4gWagx/u4RfZJzBMAoagW9ava5waxd+XoTkzqF7E=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "1bbd5cae7ec80241e8b44629d4da503ed7cf18c9",
"rev": "0dde7ca1d3a8e8c5082533d76084e2aa02bef70e",
"type": "github"
},
"original": {

View file

@ -58,8 +58,8 @@
dgop.url = "github:AvengeMedia/dgop";
dgop.inputs.nixpkgs.follows = "nixpkgs";
dankMaterialShell.url = "github:AvengeMedia/DankMaterialShell";
dankMaterialShell.inputs.nixpkgs.follows = "nixpkgs";
dankMaterialShell.inputs.dgop.follows = "dgop";
dank-material-shell.url = "github:AvengeMedia/DankMaterialShell";
dank-material-shell.inputs.nixpkgs.follows = "nixpkgs";
dank-material-shell.inputs.dgop.follows = "dgop";
};
}

View file

@ -27,7 +27,7 @@
inputs.agenix-rekey.nixosModules.default
inputs.nix-index-database.nixosModules.nix-index
inputs.nixos-facter-modules.nixosModules.facter
inputs.dankMaterialShell.nixosModules.dankMaterialShell
inputs.dank-material-shell.nixosModules.dank-material-shell
inputs.niri.nixosModules.niri
inputs.determinate.nixosModules.default
inputs.nixos-wsl.nixosModules.default

View file

@ -1,4 +1,4 @@
{pkgs, ...}: {
_: {
# Enable OpenGL
hardware.graphics = {
enable = true;
@ -6,15 +6,10 @@
networking.networkmanager.enable = true;
users.users.nickolaj.extraGroups = ["networkmanager"];
programs.nm-applet.enable = true;
# Load nvidia driver for Xorg and Wayland
services.xserver.videoDrivers = ["nvidia"];
environment.systemPackages = [
pkgs.mesa-demos
];
hardware.nvidia = {
open = true;
modesetting.enable = true;

View file

@ -6,6 +6,7 @@
dev.enable = true;
hostname = "laptop";
username = "nickolaj";
hardware.battery = true;
};
facter.reportPath = ./facter.json;
};

View file

@ -1,10 +1,8 @@
{lib, ...}: {
fireproof.home-manager.programs.ssh.matchBlocks = {
"dev.ao" = {
proxyJump = lib.mkForce "server";
};
"bastion.ao" = {
proxyJump = lib.mkForce "server";
hostname = "62.199.221.53";
proxyJump = lib.mkForce "homelab";
};
};
}

View file

@ -36,7 +36,7 @@ switch hostname=`hostname -s` target='':
#!/usr/bin/env -S bash -e
target="{{ target }}"
if [ -z "$target" ]; then
sudo {{ nixcmd }} run nixpkgs#nixos-rebuild -- switch --show-trace --fast --flake .#{{ hostname }}
sudo {{ nixcmd }} run nixpkgs#nixos-rebuild -- switch --show-trace --flake .#{{ hostname }}
else
{{ nixcmd }} run nixpkgs#nixos-rebuild -- switch \
--flake .#{{ hostname }} \

View file

@ -8,5 +8,12 @@
type = lib.types.str;
description = "The primary username for the machine";
};
hardware = {
battery = lib.mkOption {
type = lib.types.bool;
default = false;
description = "Enable battery support (UPower, battery widget, etc.)";
};
};
};
}

View file

@ -46,12 +46,12 @@ in {
};
};
programs.dankMaterialShell.default.settings = {
programs.dank-material-shell.default.settings = {
# Disables wallpaper management in DMS to avoid conflicts with Hyprpaper
screenPreferences.wallpaper = [];
};
programs.dankMaterialShell.default.session = {
programs.dank-material-shell.default.session = {
# Attempt to set a default wallpaper on first run
wallpaperPath = unknownPng;
};

View file

@ -70,13 +70,14 @@
centerWidgets = [
"focusedWindow"
];
rightWidgets = [
"music"
"systemTray"
"cpuUsage"
"controlCenterButton"
"notificationButton"
];
rightWidgets =
[
"music"
"systemTray"
"cpuUsage"
"controlCenterButton"
]
++ lib.optional config.fireproof.hardware.battery "battery" ++ ["notificationButton"];
}
// commonBarSettings;
@ -123,7 +124,7 @@
in {
config = lib.mkIf config.fireproof.desktop.enable {
fireproof.home-manager = {
programs.dankMaterialShell.default.settings = {
programs.dank-material-shell.default.settings = {
launcherLogoMode = "os";
launcherLogoContrast = 1;
launcherLogoSizeOffset = 3;

View file

@ -16,10 +16,10 @@
fireproof.home-manager = {
imports = [
inputs.dankMaterialShell.homeModules.dankMaterialShell.default
inputs.dank-material-shell.homeModules.dank-material-shell
];
programs.dankMaterialShell = {
programs.dank-material-shell = {
enable = true;
enableDynamicTheming = false;

View file

@ -30,7 +30,7 @@ in {
matugen_type = "scheme-expressive";
};
programs.dankMaterialShell.default.settings = {
programs.dank-material-shell.default.settings = {
# Color theme
currentThemeName = "custom";
customThemeFile = "/home/${username}/.config/DankMaterialShell/colors.json";

View file

@ -8,7 +8,7 @@ lib.mkIf config.fireproof.homelab.enable (let
domain = "glance.nickolaj.com";
port = 8088;
glance-fork = pkgs.glance.overrideAttrs (oldAttrs: {
glance-fork = pkgs.glance.overrideAttrs (_oldAttrs: {
src = pkgs.fetchFromGitHub {
owner = "nickolaj-jepsen";
repo = "glance";

View file

@ -5,7 +5,7 @@
pkgsUnstable,
...
}: let
pycharmPkg = pkgsUnstable.jetbrains.pycharm-professional.override {
pycharmPkg = pkgsUnstable.jetbrains.pycharm.override {
# -Dide.browser.jcef.enabled causes crashes on wayland
vmopts = ''
-Dide.browser.jcef.enabled=false

View file

@ -0,0 +1,9 @@
{
config,
lib,
...
}: {
config = lib.mkIf config.fireproof.hardware.battery {
services.upower.enable = true;
};
}

View file

@ -15,5 +15,6 @@ _: {
./user.nix
./yubikey.nix
./tailscale.nix
./battery.nix
];
}