replace waybar and wlogout with nova-shell

This commit is contained in:
müde 2026-04-12 11:33:12 +02:00
parent 30b2b8668b
commit dc70f474a9
8 changed files with 441 additions and 63 deletions

67
flake.lock generated
View file

@ -539,6 +539,28 @@
"type": "github" "type": "github"
} }
}, },
"nova-shell": {
"inputs": {
"nixpkgs": [
"nixpkgs-unstable"
],
"quickshell": "quickshell",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1776022066,
"narHash": "sha256-EVl6pS3C8qogiqMNGBLibPsnK8saURb5Ayf9pxzcFjA=",
"ref": "refs/heads/main",
"rev": "d33b47139a431ebc6aef9926f1f80bb2420ac596",
"revCount": 152,
"type": "git",
"url": "https://git.berlin.ccc.de/vinzenz/nova-shell"
},
"original": {
"type": "git",
"url": "https://git.berlin.ccc.de/vinzenz/nova-shell"
}
},
"nur": { "nur": {
"inputs": { "inputs": {
"flake-parts": [ "flake-parts": [
@ -588,6 +610,27 @@
"type": "github" "type": "github"
} }
}, },
"quickshell": {
"inputs": {
"nixpkgs": [
"nova-shell",
"nixpkgs"
]
},
"locked": {
"lastModified": 1775720097,
"narHash": "sha256-p+vqkCuFfVNyQBo370wr6MebNUvz55RZiC0m8YKUhvQ=",
"ref": "refs/heads/master",
"rev": "d4c92973b53d9fa34cc110d3b974eb6bde5b3027",
"revCount": 800,
"type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
},
"original": {
"type": "git",
"url": "https://git.outfoxxed.me/outfoxxed/quickshell"
}
},
"root": { "root": {
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
@ -600,12 +643,13 @@
"nixos-generators": "nixos-generators", "nixos-generators": "nixos-generators",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"nova-shell": "nova-shell",
"nur": "nur", "nur": "nur",
"servicepoint-cli": "servicepoint-cli", "servicepoint-cli": "servicepoint-cli",
"servicepoint-simulator": "servicepoint-simulator", "servicepoint-simulator": "servicepoint-simulator",
"servicepoint-tanks": "servicepoint-tanks", "servicepoint-tanks": "servicepoint-tanks",
"stylix": "stylix", "stylix": "stylix",
"treefmt-nix": "treefmt-nix", "treefmt-nix": "treefmt-nix_2",
"zerforschen-plus": "zerforschen-plus" "zerforschen-plus": "zerforschen-plus"
} }
}, },
@ -858,6 +902,27 @@
} }
}, },
"treefmt-nix": { "treefmt-nix": {
"inputs": {
"nixpkgs": [
"nova-shell",
"nixpkgs"
]
},
"locked": {
"lastModified": 1775636079,
"narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"treefmt-nix_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"

View file

@ -23,8 +23,10 @@
}; };
niri = { niri = {
url = "github:sodiboo/niri-flake"; url = "github:sodiboo/niri-flake";
inputs.nixpkgs.follows = "nixpkgs"; inputs = {
inputs.nixpkgs-stable.follows = "nixpkgs"; nixpkgs.follows = "nixpkgs";
nixpkgs-stable.follows = "nixpkgs";
};
}; };
nix-filter.url = "github:numtide/nix-filter"; nix-filter.url = "github:numtide/nix-filter";
nix-vscode-extensions = { nix-vscode-extensions = {
@ -35,6 +37,10 @@
url = "github:nix-community/nixos-generators"; url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nova-shell = {
url = "git+https://git.berlin.ccc.de/vinzenz/nova-shell";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
nur = { nur = {
url = "github:nix-community/NUR"; url = "github:nix-community/NUR";
inputs = { inputs = {

295
foo.diff Normal file
View file

@ -0,0 +1,295 @@
diff --git a/flake.lock b/flake.lock
index e1d289b..2ae403c 100644
--- a/flake.lock
+++ b/flake.lock
@@ -539,6 +539,28 @@
"type": "github"
}
},
+ "nova-shell": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs-unstable"
+ ],
+ "quickshell": "quickshell",
+ "treefmt-nix": "treefmt-nix"
+ },
+ "locked": {
+ "lastModified": 1775855370,
+ "narHash": "sha256-HCTOC6tSXvRNoZl/CQjjvZ63iMlYgH4HSPsqn25zFJA=",
+ "ref": "refs/heads/main",
+ "rev": "3c9f6e78cc8a0af240a5ac7a0ed0cb517f2bbb5a",
+ "revCount": 8,
+ "type": "git",
+ "url": "https://git.berlin.ccc.de/vinzenz/nova-shell"
+ },
+ "original": {
+ "type": "git",
+ "url": "https://git.berlin.ccc.de/vinzenz/nova-shell"
+ }
+ },
"nur": {
"inputs": {
"flake-parts": [
@@ -588,6 +610,27 @@
"type": "github"
}
},
+ "quickshell": {
+ "inputs": {
+ "nixpkgs": [
+ "nova-shell",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1775720097,
+ "narHash": "sha256-p+vqkCuFfVNyQBo370wr6MebNUvz55RZiC0m8YKUhvQ=",
+ "ref": "refs/heads/master",
+ "rev": "d4c92973b53d9fa34cc110d3b974eb6bde5b3027",
+ "revCount": 800,
+ "type": "git",
+ "url": "https://git.outfoxxed.me/outfoxxed/quickshell"
+ },
+ "original": {
+ "type": "git",
+ "url": "https://git.outfoxxed.me/outfoxxed/quickshell"
+ }
+ },
"root": {
"inputs": {
"flake-parts": "flake-parts",
@@ -600,12 +643,13 @@
"nixos-generators": "nixos-generators",
"nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable",
+ "nova-shell": "nova-shell",
"nur": "nur",
"servicepoint-cli": "servicepoint-cli",
"servicepoint-simulator": "servicepoint-simulator",
"servicepoint-tanks": "servicepoint-tanks",
"stylix": "stylix",
- "treefmt-nix": "treefmt-nix",
+ "treefmt-nix": "treefmt-nix_2",
"zerforschen-plus": "zerforschen-plus"
}
},
@@ -858,6 +902,27 @@
}
},
"treefmt-nix": {
+ "inputs": {
+ "nixpkgs": [
+ "nova-shell",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1775636079,
+ "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=",
+ "owner": "numtide",
+ "repo": "treefmt-nix",
+ "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "treefmt-nix",
+ "type": "github"
+ }
+ },
+ "treefmt-nix_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
diff --git a/flake.nix b/flake.nix
index 2a7ad86..87683fe 100644
--- a/flake.nix
+++ b/flake.nix
@@ -35,6 +35,10 @@
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
+ nova-shell = {
+ url = "git+https://git.berlin.ccc.de/vinzenz/nova-shell";
+ inputs.nixpkgs.follows = "nixpkgs-unstable";
+ };
nur = {
url = "github:nix-community/NUR";
inputs = {
diff --git a/homeConfigurations/muede/default.nix b/homeConfigurations/muede/default.nix
index 9face22..5f12afb 100644
--- a/homeConfigurations/muede/default.nix
+++ b/homeConfigurations/muede/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, ... }:
+{ pkgs, self,... }:
{
imports = [
# keep-sorted start
+ self.inputs.nova-shell.homeModules.default
@@ -18,6 +18,7 @@
./waybar.nix
./wlogout.nix
./zsh.nix
# keep-sorted end
];
@@ -48,6 +49,7 @@
};
chromium.enable = true;
+ nova-shell.enable = true;
};
home.packages = with pkgs; [
diff --git a/homeConfigurations/muede/swaylock.nix b/homeConfigurations/muede/swaylock.nix
index 8ff6747..55d7f91 100644
--- a/homeConfigurations/muede/swaylock.nix
+++ b/homeConfigurations/muede/swaylock.nix
@@ -1,59 +1,63 @@
# based on https://codeberg.org/kiara/cfg/src/commit/b9c472acd78c9c08dfe8b6a643c5c82cc5828433/home-manager/kiara/swaylock.nix#
-{ pkgs, config, lib, ... }:
{
- stylix.targets.swaylock = {
- enable = true;
- useWallpaper = true;
- };
-
- programs.swaylock = {
- enable = true;
- package = pkgs.swaylock-effects;
- # https://github.com/jirutka/swaylock-effects/blob/master/swaylock.1.scd
- settings = {
- screenshot = false;
- effect-blur = "9x9";
- effect-vignette = "0.2:0.2";
- fade-in = 0.5;
- font-size = 75;
- indicator-caps-lock = true;
- clock = true;
- indicator-radius = 400;
- show-failed-attempts = true;
- ignore-empty-password = true;
- grace = 3.5;
- indicator-thickness = 20;
- };
- };
+ pkgs,
+ config,
+ lib,
+ ...
+}:
+{
+ stylix.targets.swaylock = {
+ enable = true;
+ useWallpaper = true;
+ };
- services.swayidle = {
- enable = true;
- systemdTarget = "graphical-session.target";
- timeouts = [
- {
- timeout = 60;
- command = "${config.programs.swaylock.package}/bin/swaylock";
- }
- {
- timeout = 60 * 10;
- command = "${pkgs.systemd}/bin/systemctl suspend";
- }
- ];
- events = [
- {
- event = "before-sleep";
- command = "${pkgs.playerctl}/bin/playerctl pause; ${config.programs.swaylock.package}/bin/swaylock";
- }
- {
- event = "lock";
- command = "${config.programs.swaylock.package}/bin/swaylock";
- }
- ];
+ programs.swaylock = {
+ enable = true;
+ package = pkgs.swaylock-effects;
+ # https://github.com/jirutka/swaylock-effects/blob/master/swaylock.1.scd
+ settings = {
+ screenshot = false;
+ effect-blur = "9x9";
+ effect-vignette = "0.2:0.2";
+ fade-in = 0.5;
+ font-size = 75;
+ indicator-caps-lock = true;
+ clock = true;
+ indicator-radius = 400;
+ show-failed-attempts = true;
+ ignore-empty-password = true;
+ grace = 3.5;
+ indicator-thickness = 20;
};
+ };
+ services.swayidle = {
+ enable = true;
+ systemdTarget = "graphical-session.target";
+ timeouts = [
+ {
+ timeout = 60;
+ command = "${config.programs.swaylock.package}/bin/swaylock";
+ }
+ {
+ timeout = 60 * 10;
+ command = "${pkgs.systemd}/bin/systemctl suspend";
+ }
+ ];
+ events = [
+ {
+ event = "before-sleep";
+ command = "${pkgs.playerctl}/bin/playerctl pause; ${config.programs.swaylock.package}/bin/swaylock";
+ }
+ {
+ event = "lock";
+ command = "${config.programs.swaylock.package}/bin/swaylock";
+ }
+ ];
+ };
- programs.niri.settings.binds."Super+Alt+L" = {
- action.spawn = "${lib.getBin config.programs.swaylock.package}/bin/swaylock";
- allow-when-locked = true;
- };
+ programs.niri.settings.binds."Super+Alt+L" = {
+ action.spawn = "${lib.getBin config.programs.swaylock.package}/bin/swaylock";
+ allow-when-locked = true;
+ };
}
diff --git a/homeConfigurations/muede/waybar.css b/homeConfigurations/muede/waybar.css
index 79e7671..0f1d38a 100644
--- a/homeConfigurations/muede/waybar.css
+++ b/homeConfigurations/muede/waybar.css
@@ -72,8 +72,8 @@ window#waybar {
}
#workspaces {
- padding-left: 0;
- padding-right: 0;
+ padding-left: 0;
+ padding-right: 0;
}
/* Individual widget colors */
diff --git a/nixosConfigurations/muede-pc2/default.nix b/nixosConfigurations/muede-pc2/default.nix
index 742fa9f..dd97b00 100644
--- a/nixosConfigurations/muede-pc2/default.nix
+++ b/nixosConfigurations/muede-pc2/default.nix
@@ -2,8 +2,8 @@
{
imports = [
./hardware.nix
-# ./vscode-server.nix
-# ./hass.nix
+ # ./vscode-server.nix
+ # ./hass.nix
self.nixosModules.user-muede
self.nixosModules.gnome

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: { pkgs, self, ... }:
{ {
imports = [ imports = [
# keep-sorted start # keep-sorted start
@ -15,9 +15,10 @@
./swaylock.nix ./swaylock.nix
./swaync.nix ./swaync.nix
./vscode.nix ./vscode.nix
./waybar.nix # ./waybar.nix
./wlogout.nix # ./wlogout.nix
./zsh.nix ./zsh.nix
self.inputs.nova-shell.homeModules.default
# keep-sorted end # keep-sorted end
]; ];
@ -48,6 +49,12 @@
}; };
chromium.enable = true; chromium.enable = true;
nova-shell = {
enable = true;
theme = {
fontSize = 13;
};
};
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [

View file

@ -1,59 +1,63 @@
# based on https://codeberg.org/kiara/cfg/src/commit/b9c472acd78c9c08dfe8b6a643c5c82cc5828433/home-manager/kiara/swaylock.nix# # based on https://codeberg.org/kiara/cfg/src/commit/b9c472acd78c9c08dfe8b6a643c5c82cc5828433/home-manager/kiara/swaylock.nix#
{ pkgs, config, lib, ... }:
{ {
stylix.targets.swaylock = { pkgs,
enable = true; config,
useWallpaper = true; lib,
...
}:
{
stylix.targets.swaylock = {
enable = true;
useWallpaper = true;
};
programs.swaylock = {
enable = true;
package = pkgs.swaylock-effects;
# https://github.com/jirutka/swaylock-effects/blob/master/swaylock.1.scd
settings = {
screenshot = false;
effect-blur = "9x9";
effect-vignette = "0.2:0.2";
fade-in = 0.5;
font-size = 75;
indicator-caps-lock = true;
clock = true;
indicator-radius = 400;
show-failed-attempts = true;
ignore-empty-password = true;
grace = 3.5;
indicator-thickness = 20;
}; };
};
programs.swaylock = { services.swayidle = {
enable = true; enable = true;
package = pkgs.swaylock-effects; systemdTarget = "graphical-session.target";
# https://github.com/jirutka/swaylock-effects/blob/master/swaylock.1.scd timeouts = [
settings = { {
screenshot = false; timeout = 5;
effect-blur = "9x9"; command = "${config.programs.swaylock.package}/bin/swaylock";
effect-vignette = "0.2:0.2"; }
fade-in = 0.5; {
font-size = 75; timeout = 60 * 10;
indicator-caps-lock = true; command = "${pkgs.systemd}/bin/systemctl suspend";
clock = true; }
indicator-radius = 400; ];
show-failed-attempts = true; events = [
ignore-empty-password = true; {
grace = 3.5; event = "before-sleep";
indicator-thickness = 20; command = "${pkgs.playerctl}/bin/playerctl pause; ${config.programs.swaylock.package}/bin/swaylock";
}; }
}; {
event = "lock";
command = "${config.programs.swaylock.package}/bin/swaylock";
}
];
};
services.swayidle = { programs.niri.settings.binds."Super+Alt+L" = {
enable = true; action.spawn = "${lib.getBin config.programs.swaylock.package}/bin/swaylock";
systemdTarget = "graphical-session.target"; allow-when-locked = true;
timeouts = [ };
{
timeout = 60;
command = "${config.programs.swaylock.package}/bin/swaylock";
}
{
timeout = 60 * 10;
command = "${pkgs.systemd}/bin/systemctl suspend";
}
];
events = [
{
event = "before-sleep";
command = "${pkgs.playerctl}/bin/playerctl pause; ${config.programs.swaylock.package}/bin/swaylock";
}
{
event = "lock";
command = "${config.programs.swaylock.package}/bin/swaylock";
}
];
};
programs.niri.settings.binds."Super+Alt+L" = {
action.spawn = "${lib.getBin config.programs.swaylock.package}/bin/swaylock";
allow-when-locked = true;
};
} }

View file

@ -72,8 +72,8 @@ window#waybar {
} }
#workspaces { #workspaces {
padding-left: 0; padding-left: 0;
padding-right: 0; padding-right: 0;
} }
/* Individual widget colors */ /* Individual widget colors */

View file

@ -9,6 +9,7 @@
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
unstable.claude-code unstable.claude-code
git git
python3
]; ];
users.users.muede = { users.users.muede = {

View file

@ -2,8 +2,8 @@
{ {
imports = [ imports = [
./hardware.nix ./hardware.nix
# ./vscode-server.nix # ./vscode-server.nix
# ./hass.nix # ./hass.nix
self.nixosModules.user-muede self.nixosModules.user-muede
self.nixosModules.gnome self.nixosModules.gnome