From 0c6c2dd71b4b7ca9c4c22fa5987e8cc6ea27470b Mon Sep 17 00:00:00 2001 From: aaron Date: Thu, 11 Jun 2026 16:00:09 +0200 Subject: [PATCH 1/5] chore(update): update flake file --- flake.lock | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/flake.lock b/flake.lock index d1fc7de..f13c7e5 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1781009359, - "narHash": "sha256-w/mZkRscTatf8NWyUstli8ROzM/eopxZzi0WRjoeYkU=", + "lastModified": 1781129616, + "narHash": "sha256-Hl0Pz/QIKpePSU7SdK3BMe5VNmUhFvfWyg57GyawxzE=", "owner": "nix-community", "repo": "home-manager", - "rev": "c58ead12efcac436afffa93a22099a5595eb4157", + "rev": "7dbd305f8b81050f223f00bcfbc8a6b74e048806", "type": "github" }, "original": { @@ -66,11 +66,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1780995253, - "narHash": "sha256-6Lsoyw2XPvY8YNMCtPnsyw0JVVtHsXP2xtrFJBBTAOQ=", + "lastModified": 1781034432, + "narHash": "sha256-+UuS36un3lXLtKsGCYQnOn51hDhB+dZ1SHoHXClnV/0=", "owner": "nix-community", "repo": "nixvim", - "rev": "43a7e6f82978ac975c3bba6728869b231e7a1ba0", + "rev": "e9fbbd56eab78751ba4c166c31a1667042528ced", "type": "github" }, "original": { @@ -86,11 +86,11 @@ ] }, "locked": { - "lastModified": 1781026666, - "narHash": "sha256-mwjp1F8WuazLN0I16g581enuu4WaOdEMC0uhd+6/iWg=", + "lastModified": 1781181712, + "narHash": "sha256-F3r0Ipj0lKU+iEP6mR+BeI93QYN2MOS9oOgDo3S0SUc=", "owner": "noctalia-dev", "repo": "noctalia-shell", - "rev": "5fa56db215e0fdf351547709f790aa47f05b44b0", + "rev": "f319b3ad69eaa470f601cd37ed89cac69344656e", "type": "github" }, "original": { From b987dcf0c61c2a0e2597ab0684f0af0e118684ce Mon Sep 17 00:00:00 2001 From: aaron Date: Sun, 14 Jun 2026 16:49:39 +0200 Subject: [PATCH 2/5] chore(update): update flake file --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index f13c7e5..f17717d 100644 --- a/flake.lock +++ b/flake.lock @@ -28,11 +28,11 @@ ] }, "locked": { - "lastModified": 1781129616, - "narHash": "sha256-Hl0Pz/QIKpePSU7SdK3BMe5VNmUhFvfWyg57GyawxzE=", + "lastModified": 1781365335, + "narHash": "sha256-zqDBhXMzfbdlO7F2bGHe7MOtB3xngd/+4ieMHDC+ZXo=", "owner": "nix-community", "repo": "home-manager", - "rev": "7dbd305f8b81050f223f00bcfbc8a6b74e048806", + "rev": "5b6f5733726a1b2ccafb5dec6ac4ca7299fad66c", "type": "github" }, "original": { @@ -43,11 +43,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1780749050, - "narHash": "sha256-3av0pIjlOWQ6rDbNOmpUSvbNnJkGORQKKjb4LtCZsIY=", + "lastModified": 1781074563, + "narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=", "owner": "nixos", "repo": "nixpkgs", - "rev": "a799d3e3886da994fa307f817a6bc705ae538eeb", + "rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca", "type": "github" }, "original": { @@ -66,11 +66,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1781034432, - "narHash": "sha256-+UuS36un3lXLtKsGCYQnOn51hDhB+dZ1SHoHXClnV/0=", + "lastModified": 1781388258, + "narHash": "sha256-Kx1zxra9sZ215H3OiWUfkulu8N2v3iu19wqlzpD/Ac0=", "owner": "nix-community", "repo": "nixvim", - "rev": "e9fbbd56eab78751ba4c166c31a1667042528ced", + "rev": "e3c908fdf6dff268b04ffb6758bcfc7c018489b9", "type": "github" }, "original": { @@ -86,11 +86,11 @@ ] }, "locked": { - "lastModified": 1781181712, - "narHash": "sha256-F3r0Ipj0lKU+iEP6mR+BeI93QYN2MOS9oOgDo3S0SUc=", + "lastModified": 1781443008, + "narHash": "sha256-ZycdrXdxhHYtw9FV10T6A+Tj1Hkq3WKtWnxQ317uXC8=", "owner": "noctalia-dev", "repo": "noctalia-shell", - "rev": "f319b3ad69eaa470f601cd37ed89cac69344656e", + "rev": "2b82e4a2719b8bb0cd2da9716ed30302e9299ed6", "type": "github" }, "original": { From 098b92ae45d3ea71966957f2ca03cd4698e6a2fe Mon Sep 17 00:00:00 2001 From: aaron Date: Mon, 15 Jun 2026 10:45:34 +0200 Subject: [PATCH 3/5] feature(noctalia): use the noctialia flake to manage my noctalia config for version 5 --- modules/home-manager/noctalia.nix | 79 +++++++++++++++++++++++++++++++ users/aaron/home.nix | 1 + 2 files changed, 80 insertions(+) create mode 100644 modules/home-manager/noctalia.nix diff --git a/modules/home-manager/noctalia.nix b/modules/home-manager/noctalia.nix new file mode 100644 index 0000000..3b3649f --- /dev/null +++ b/modules/home-manager/noctalia.nix @@ -0,0 +1,79 @@ +{ config, pkgs, inputs, ... }: + +{ + # Noctalia v5 shell, managed via its upstream home-manager module. + # See https://docs.noctalia.dev/v5/getting-started/nixos/ + imports = [ inputs.noctalia.homeModules.default ]; + + programs.noctalia = { + enable = true; + + # The module's `package` option has no default, so it must be set explicitly. + package = inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default; + + # settings is rendered to ~/.config/noctalia/config.toml + settings = { + # theme / colors + theme = { + source = "builtin"; + builtin = "Nord"; + mode = "dark"; + }; + + # general + shell = { + font_family = "0xProto Nerd Font"; + ui_scale = 1.2; + avatar_path = "/home/aaron/syncthing/pictures/Logo-Aaron-Totenkopf-rund-schwarz.png"; + telemetry_enabled = false; + clipboard_enabled = true; + }; + + # location / weather + location.address = "Bern"; + + weather = { + enabled = true; + unit = "metric"; + }; + + # wallpaper + wallpaper = { + enabled = true; + directory = "/home/aaron/Pictures/Wallpapers"; + fill_mode = "crop"; + }; + + # bar layout + bar = { + order = [ "default" ]; + default = { + position = "top"; + background_opacity = 0.93; + start = [ "control-center" "cpu" "ram" "temp" "media" "active_window" ]; + center = [ "workspaces" ]; + end = [ "tray" "notifications" "volume" "input_volume" "network" "bluetooth" "clock" ]; + }; + }; + + # idle behavior + idle = { + behavior_order = [ "screen-off" "lock" "lock-and-suspend" ]; + behavior = { + "screen-off" = { + enabled = true; + timeout = 600; + }; + "lock" = { + enabled = true; + timeout = 660; + }; + "lock-and-suspend" = { + enabled = true; + timeout = 1800; + }; + }; + }; + }; + }; +} diff --git a/users/aaron/home.nix b/users/aaron/home.nix index 791a600..96309f9 100644 --- a/users/aaron/home.nix +++ b/users/aaron/home.nix @@ -6,6 +6,7 @@ ../../modules/home-manager/git.nix ../../modules/home-manager/ghostty.nix ../../modules/home-manager/nixvim.nix + ../../modules/home-manager/noctalia.nix ../../modules/home-manager/programs.nix ../../modules/home-manager/shell.nix ../../modules/home-manager/styling.nix From 47fb9e7f97ee6b0bc92747c3b7dbfeb8fd94e9be Mon Sep 17 00:00:00 2001 From: aaron Date: Mon, 15 Jun 2026 10:54:35 +0200 Subject: [PATCH 4/5] feature(nixvim): pin nixvim to nixpkgs to suppress the non-default warning --- modules/home-manager/nixvim.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/home-manager/nixvim.nix b/modules/home-manager/nixvim.nix index 612baba..93e6702 100644 --- a/modules/home-manager/nixvim.nix +++ b/modules/home-manager/nixvim.nix @@ -4,6 +4,12 @@ programs.nixvim = { enable = true; + # We keep `inputs.nixvim.inputs.nixpkgs.follows = "nixpkgs"` in flake.nix so + # the whole config shares a single nixpkgs. Setting `source` explicitly to + # that same nixpkgs acknowledges the override and silences nixvim's warning + # about its pinned nixpkgs being bypassed. + nixpkgs.source = inputs.nixpkgs; + # set aliases viAlias = true; vimAlias = true; From 7577e39c88a8aa40373e60f1f409db4a4b3e2ff8 Mon Sep 17 00:00:00 2001 From: aaron Date: Tue, 16 Jun 2026 11:33:38 +0200 Subject: [PATCH 5/5] feature(noctalia): update the noctalia config --- modules/home-manager/noctalia.nix | 50 +++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 3 deletions(-) diff --git a/modules/home-manager/noctalia.nix b/modules/home-manager/noctalia.nix index 3b3649f..1b8ef7f 100644 --- a/modules/home-manager/noctalia.nix +++ b/modules/home-manager/noctalia.nix @@ -18,15 +18,30 @@ source = "builtin"; builtin = "Nord"; mode = "dark"; + templates.builtin_ids = [ "ghostty" ]; }; # general shell = { - font_family = "0xProto Nerd Font"; + font_family = "0xProto Nerd Font Mono"; ui_scale = 1.2; avatar_path = "/home/aaron/syncthing/pictures/Logo-Aaron-Totenkopf-rund-schwarz.png"; telemetry_enabled = false; clipboard_enabled = true; + password_style = "random"; + + panel = { + launcher_compact = true; + open_near_click_control_center = true; + open_near_click_session = true; + open_near_click_wallpaper = true; + transparency_mode = "glass"; + }; + + screen_corners = { + enabled = true; + size = 10; + }; }; # location / weather @@ -42,6 +57,7 @@ enabled = true; directory = "/home/aaron/Pictures/Wallpapers"; fill_mode = "crop"; + default.path = "/home/aaron/Pictures/Wallpapers/nord-theme-tower.png"; }; # bar layout @@ -50,9 +66,37 @@ default = { position = "top"; background_opacity = 0.93; - start = [ "control-center" "cpu" "ram" "temp" "media" "active_window" ]; + font_weight = 400; + margin_edge = 0; + margin_ends = 0; + radius = 0; + scale = 1.2; + widget_spacing = 20; + start = [ "control-center" "cpu" "ram" "temp" "active_window" ]; center = [ "workspaces" ]; - end = [ "tray" "notifications" "volume" "input_volume" "network" "bluetooth" "clock" ]; + end = [ "tray" "bluetooth" "notifications" "volume" "network" "clock" ]; + }; + }; + + # per-widget styling + widget = { + bluetooth.capsule = true; + control-center = { + capsule_radius = 8; + custom_image = "/home/aaron/Pictures/nix_flake_logo.png"; + scale = 1.4; + }; + cpu.capsule = true; + network = { + capsule = true; + show_label = false; + }; + notifications.capsule = true; + ram.capsule = true; + temp.capsule = true; + volume = { + capsule = true; + show_label = false; }; };