From 8d121fda97597e6f09cbb53c3a48fc9254b37c0b Mon Sep 17 00:00:00 2001 From: cnst Date: Fri, 15 Nov 2024 18:26:39 +0100 Subject: [PATCH] nwg-bar, ironbar and some minor things --- flake.lock | 106 ++++++- flake.nix | 5 + modules/default.nix | 2 + modules/home/programs/ironbar/colors.nix | 43 +++ modules/home/programs/ironbar/default.nix | 294 ++++++++++++++++++ modules/home/programs/ironbar/scss-pkg.nix | 19 ++ .../home/programs/ironbar/styles/_colors.scss | 35 +++ .../home/programs/ironbar/styles/main.scss | 221 +++++++++++++ modules/home/programs/nwg-bar/default.nix | 77 +++++ nix/substituters/default.nix | 2 + users/cnst/modules.nix | 6 + 11 files changed, 803 insertions(+), 7 deletions(-) create mode 100644 modules/home/programs/ironbar/colors.nix create mode 100644 modules/home/programs/ironbar/default.nix create mode 100644 modules/home/programs/ironbar/scss-pkg.nix create mode 100644 modules/home/programs/ironbar/styles/_colors.scss create mode 100644 modules/home/programs/ironbar/styles/main.scss create mode 100644 modules/home/programs/nwg-bar/default.nix diff --git a/flake.lock b/flake.lock index 1c6be253..22f62c80 100644 --- a/flake.lock +++ b/flake.lock @@ -110,6 +110,21 @@ } }, "crane_2": { + "locked": { + "lastModified": 1730060262, + "narHash": "sha256-RMgSVkZ9H03sxC+Vh4jxtLTCzSjPq18UWpiM0gq6shQ=", + "owner": "ipetkov", + "repo": "crane", + "rev": "498d9f122c413ee1154e8131ace5a35a80d8fa76", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "crane_3": { "locked": { "lastModified": 1730652660, "narHash": "sha256-+XVYfmVXAiYA0FZT7ijHf555dxCe+AoAT5A6RU+6vSo=", @@ -791,6 +806,29 @@ "type": "github" } }, + "ironbar": { + "inputs": { + "crane": "crane_2", + "naersk": "naersk", + "nixpkgs": [ + "nixpkgs" + ], + "rust-overlay": "rust-overlay_2" + }, + "locked": { + "lastModified": 1731364081, + "narHash": "sha256-7E1dh2H+36AJBO7PCHhLLEuxr2HDaEa6nif14pOoJXY=", + "owner": "JakeStanger", + "repo": "ironbar", + "rev": "a76957216b27f7d23128a02740cad2d78d9e4de6", + "type": "github" + }, + "original": { + "owner": "JakeStanger", + "repo": "ironbar", + "type": "github" + } + }, "jovian": { "inputs": { "nix-github-actions": "nix-github-actions", @@ -815,12 +853,12 @@ }, "lanzaboote": { "inputs": { - "crane": "crane_2", + "crane": "crane_3", "flake-compat": "flake-compat_2", "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_6", + "nixpkgs": "nixpkgs_7", "pre-commit-hooks-nix": "pre-commit-hooks-nix", - "rust-overlay": "rust-overlay_2" + "rust-overlay": "rust-overlay_3" }, "locked": { "lastModified": 1730739295, @@ -838,7 +876,7 @@ }, "microfetch": { "inputs": { - "nixpkgs": "nixpkgs_7" + "nixpkgs": "nixpkgs_8" }, "locked": { "lastModified": 1730220355, @@ -854,6 +892,24 @@ "type": "github" } }, + "naersk": { + "inputs": { + "nixpkgs": "nixpkgs_6" + }, + "locked": { + "lastModified": 1721727458, + "narHash": "sha256-r/xppY958gmZ4oTfLiHN0ZGuQ+RSTijDblVgVLFi1mw=", + "owner": "nix-community", + "repo": "naersk", + "rev": "3fb418eaf352498f6b6c30592e3beb63df42ef11", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "naersk", + "type": "github" + } + }, "nix-gaming": { "inputs": { "flake-parts": [ @@ -1014,6 +1070,20 @@ } }, "nixpkgs_6": { + "locked": { + "lastModified": 1730272153, + "narHash": "sha256-B5WRZYsRlJgwVHIV6DvidFN7VX7Fg9uuwkRW9Ha8z+w=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2d2a9ddbe3f2c00747398f3dc9b05f7f2ebb0f53", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_7": { "locked": { "lastModified": 1730642263, "narHash": "sha256-UXqvGZOHUDeAo8Sv5A5oObiQgBPELVgHQi130TU0jMU=", @@ -1029,7 +1099,7 @@ "type": "github" } }, - "nixpkgs_7": { + "nixpkgs_8": { "locked": { "lastModified": 1722719969, "narHash": "sha256-E47qbT/mRtBCSZra+9S9208sp/QnNeOAq7EhHX+eMNE=", @@ -1044,7 +1114,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_9": { "locked": { "lastModified": 1731319897, "narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=", @@ -1127,10 +1197,11 @@ "hyprlock": "hyprlock", "hyprpaper": "hyprpaper", "hyprsysteminfo": "hyprsysteminfo", + "ironbar": "ironbar", "lanzaboote": "lanzaboote", "microfetch": "microfetch", "nix-gaming": "nix-gaming", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_9", "systems": "systems_5", "tuirun": "tuirun", "zen-browser": "zen-browser" @@ -1175,6 +1246,27 @@ } }, "rust-overlay_2": { + "inputs": { + "nixpkgs": [ + "ironbar", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1730341826, + "narHash": "sha256-RFaeY7EWzXOmAL2IQEACbnrEza3TgD5UQApHR4hGHhY=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "815d1b3ee71716fc91a7bd149801e1f04d45fbc5", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_3": { "inputs": { "nixpkgs": [ "lanzaboote", diff --git a/flake.nix b/flake.nix index affb42b9..06349666 100644 --- a/flake.nix +++ b/flake.nix @@ -95,6 +95,11 @@ }; }; + ironbar = { + url = "github:JakeStanger/ironbar"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + anyrun.url = "github:anyrun-org/anyrun"; microfetch.url = "github:NotAShelf/microfetch"; agenix.url = "github:ryantm/agenix"; diff --git a/modules/default.nix b/modules/default.nix index 922251c8..a15dd733 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -13,11 +13,13 @@ ./home/programs/helix ./home/programs/hyprland ./home/programs/hyprlock + ./home/programs/ironbar ./home/programs/jujutsu ./home/programs/kitty ./home/programs/misc ./home/programs/mpv ./home/programs/neovim + ./home/programs/nwg-bar ./home/programs/rofi ./home/programs/ssh ./home/programs/tuirun diff --git a/modules/home/programs/ironbar/colors.nix b/modules/home/programs/ironbar/colors.nix new file mode 100644 index 00000000..de6384f4 --- /dev/null +++ b/modules/home/programs/ironbar/colors.nix @@ -0,0 +1,43 @@ +rec { + base = { + rosewater = "#f5e0dc"; + flamingo = "#f2cdcd"; + pink = "#f5c2e7"; + mauve = "#cba6f7"; + red = "#f38ba8"; + maroon = "#eba0ac"; + peach = "#fab387"; + yellow = "#f9e2af"; + green = "#a6e3a1"; + teal = "#94e2d5"; + sky = "#89dceb"; + sapphire = "#74c7ec"; + blue = "#89b4fa"; + lavender = "#b4befe"; + + text = "#cdd6f4"; + subtext1 = "#bac2de"; + subtext0 = "#a6adc8"; + overlay2 = "#9399b2"; + overlay1 = "#7f849c"; + overlay0 = "#6c7086"; + + surface2 = "#585b70"; + surface1 = "#45475a"; + surface0 = "#313244"; + + base = "#1e1e2e"; + mantle = "#181825"; + crust = "#11111b"; + + border = "#28283d"; + }; + extra = + { + fg = base.text; + bg = base.base; + bg1 = base.surface0; + shadow = base.crust; + } + // base; +} diff --git a/modules/home/programs/ironbar/default.nix b/modules/home/programs/ironbar/default.nix new file mode 100644 index 00000000..8c585df5 --- /dev/null +++ b/modules/home/programs/ironbar/default.nix @@ -0,0 +1,294 @@ +{ + config, + lib, + inputs, + pkgs, + ... +}: let + inherit (lib) mkIf mkEnableOption; + cfg = config.home.programs.ironbar; +in { + options = { + home.programs.ironbar.enable = mkEnableOption "Enables ironbar"; + }; + imports = [ + inputs.ironbar.homeManagerModules.default + ]; + config = mkIf cfg.enable { + programs.ironbar = { + enable = true; + config = let + workspaces = { + type = "workspaces"; + all_monitors = false; + favorites = map (n: builtins.toString n) [1 2 3 4 5 6 7 8 9 10]; + hidden = ["special"]; + name_map = let + workspaces = lib.genAttrs (map (n: builtins.toString n) [1 2 3 4 5 6 7 8 9 10]); + mkColorfull = text: color: "${text}"; # "${text}"; + dotify = _: mkColorfull "●"; + c = builtins.mapAttrs dotify (import ./colors.nix).base; + in + workspaces ( + i: + if i == "1" + then c.red + else if i == "2" + then c.maroon + else if i == "3" + then c.peach + else if i == "4" + then c.yellow + else if i == "5" + then c.green + else if i == "6" + then c.teal + else if i == "7" + then c.sky + else if i == "8" + then c.sapphire + else if i == "9" + then c.blue + else if i == "10" + then c.lavender + else c.mauve + ); + }; + + music = let + state_path = "${config.xdg.stateHome}/music-ctrls-state"; + show-script = pkgs.writeShellApplication { + name = "mctrls-shower"; + runtimeInputs = with pkgs; [coreutils]; + text = '' + ${pkgs.coreutils}/bin/touch ${state_path} + out=$(< ${state_path}) + if [[ $out != "show" ]]; then + echo -ne "show" > ${state_path} + fi + ''; + }; + hide-script = pkgs.writeShellApplication { + name = "mctrls-hider"; + runtimeInputs = with pkgs; [coreutils]; + text = '' + ${pkgs.coreutils}/bin/touch ${state_path} + out=$(< ${state_path}) + if [[ $out == "show" ]]; then + echo -ne "" >${state_path} + fi + ''; + }; + in { + type = "music"; + player_type = "mpris"; + format = "{title}"; + truncate = "end"; + #icons.play = "icon:media-playback-start"; + #icons.pause = "icon:media-playback-pause"; + music_dir = config.xdg.userDirs.music; + show_status_icon = false; + on_mouse_enter.cmd = "${show-script}/bin/mctrls-shower"; + on_mouse_exit.cmd = "${hide-script}/bin/mctrls-hider"; + #icon_size = 64; + #cover_image_size = 256; + }; + music_img = rec { + type = "custom"; + name = "music-img"; + class = name; + on_mouse_enter = music.on_mouse_enter; + on_mouse_exit = music.on_mouse_exit; + bar = [ + { + type = "image"; + class = name + "-img"; + #src = ''{{poll:5000:${pkgs.playerctl}/bin/playerctl metadata mpris:artUrl}}''; + src = ''{{watch:${pkgs.playerctl}/bin/playerctl -F metadata mpris:artUrl}}''; + } + ]; + }; + music_inline_controls = let + check-script = pkgs.writeShellApplication { + name = "mctrls-checker"; + runtimeInputs = with pkgs; [coreutils]; + text = let + state_path = "${config.xdg.stateHome}/music-ctrls-state"; + in '' + ${pkgs.coreutils}/bin/touch ${state_path} + if [[ $(< ${state_path}) == "show" ]]; then + exit 0 + else + exit 1 + fi + ''; + }; + play-icon-script = pkgs.writeShellApplication { + name = "pp-icon"; + runtimeInputs = [pkgs.playerctl]; + text = '' + if [[ $(${pkgs.playerctl}/bin/playerctl status) == "Playing" ]]; then + echo "" + else + echo "" + fi + ''; + }; + in rec { + type = "custom"; + name = "music-ctrls"; + class = name; + show_if = { + mode = "poll"; + interval = 1000; + cmd = "${check-script}/bin/mctrls-checker"; + }; + on_mouse_enter = music.on_mouse_enter; + on_mouse_exit = music.on_mouse_exit; + transition_type = "slide_start"; + bar = let + pctl = cmd: + "!" + + (pkgs.writeShellApplication { + name = "iron-${cmd}"; + runtimeInputs = [pkgs.playerctl]; + text = "${pkgs.playerctl}/bin/playerctl ${cmd}"; + }) + + "/bin/iron-${cmd}"; + in [ + { + type = "button"; + class = name + "-prev"; + label = "󰒮"; + on_click = pctl "previous"; + } + { + type = "button"; + class = name + "-pp"; + label = "{{poll:100:${play-icon-script}/bin/pp-icon}}"; + on_click = pctl "play-pause"; + } + { + type = "button"; + class = name + "-next"; + label = "󰒭"; + on_click = pctl "next"; + } + ]; + }; + sys_info = { + type = "sys_info"; + format = [" {cpu_percent}%" " {memory_percent}%"]; + }; + battery = { + type = "upower"; + format = "{percentage}%"; + }; + + tray = {type = "tray";}; + clock = { + type = "clock"; + format = "%l:%M %P"; + }; + + cava = { + type = "script"; + mode = "watch"; + cmd = + (pkgs.writeShellApplication { + name = "cava"; + runtimeInputs = [pkgs.cava pkgs.gnused]; + text = '' + printf "[general]\nframerate=160\nbars = 7\n[output]\nmethod = raw\nraw_target = /dev/stdout\ndata_format = ascii\nascii_max_range = 7\n" | cava -p /dev/stdin | sed -u 's/;//g;s/0/▁/g;s/1/▂/g;s/2/▃/g;s/3/▄/g;s/4/▅/g;s/5/▆/g;s/6/▇/g;s/7/█/g; ' + ''; + }) + + "/bin/cava"; + }; + dash = rec { + type = "custom"; + name = "nix-launcher"; + class = name; + bar = [ + { + type = "button"; + label = "󰇙 "; + on_click = "popup:toggle"; + } + ]; + popup = [ + { + type = "box"; + orientation = "v"; + widgets = [ + #{ + # type = "label"; + # label = "{{${pkgs.macchina}/bin/macchina}}"; + #} + { + type = "box"; + widgets = [ + { + type = "button"; + label = "󱗼 Applications"; + on_click = "!tuirun-toggle"; + } + { + type = "button"; + label = "󰕾 Sound"; + on_click = "!${pkgs.pavucontrol}/bin/pavucontrol"; + } + { + type = "button"; + label = "󰐥 Power"; + on_click = "!${pkgs.nwg-bar}/bin/nwg-bar"; + } + ]; + } + ]; + } + ]; + }; + + left = [ + #focused + dash + workspaces + ]; + right = [ + tray + sys_info + cava + battery + clock + ]; + center = [ + music_img + music + music_inline_controls + ]; + in { + anchor_to_edges = true; + position = "top"; + start = left; + end = right; + center = center; + #center = [ + # { + # type = "label"; + # label = "random num: {{500:playerctl metadata mpris:artUrl}}"; + # } + #]; + height = 32; + icon_theme = config.gtk.iconTheme.name; + }; + style = let + built = pkgs.callPackage ./scss-pkg.nix { + src = ./styles; + entry = "main"; + }; + in '' + @import url("${built}/out.css"); + ''; + }; + }; +} diff --git a/modules/home/programs/ironbar/scss-pkg.nix b/modules/home/programs/ironbar/scss-pkg.nix new file mode 100644 index 00000000..16c5bc59 --- /dev/null +++ b/modules/home/programs/ironbar/scss-pkg.nix @@ -0,0 +1,19 @@ +{ + dart-sass, + stdenvNoCC, + src ? ./styles, + entry ? "main", +}: +stdenvNoCC.mkDerivation { + pname = "built-scss"; + version = "1.0"; + inherit src; + nativeBuildInputs = [dart-sass]; + buildPhase = '' + dart-sass ${entry}.scss > __nix_out__.css.out + ''; + installPhase = '' + mkdir -p $out/ + cp __nix_out__.css.out $out/out.css + ''; +} diff --git a/modules/home/programs/ironbar/styles/_colors.scss b/modules/home/programs/ironbar/styles/_colors.scss new file mode 100644 index 00000000..1dede78b --- /dev/null +++ b/modules/home/programs/ironbar/styles/_colors.scss @@ -0,0 +1,35 @@ +$rosewater: #f5e0dc; +$flamingo: #f2cdcd; +$pink: #f5c2e7; +$mauve: #cba6f7; +$red: #f38ba8; +$maroon: #eba0ac; +$peach: #fab387; +$yellow: #f9e2af; +$green: #a6e3a1; +$teal: #94e2d5; +$sky: #89dceb; +$sapphire: #74c7ec; +$blue: #89b4fa; +$lavender: #b4befe; + +$text: #cdd6f4; +$subtext1: #bac2de; +$subtext0: #a6adc8; +$overlay2: #9399b2; +$overlay1: #7f849c; +$overlay0: #6c7086; + +$surface2: #585b70; +$surface1: #45475a; +$surface0: #313244; + +$base: #1e1e2e; +$mantle: #181825; +$crust: #11111b; + +$fg: $text; +$bg: $base; +$bg1: $surface0; +$border: #28283d; +$shadow: $crust; diff --git a/modules/home/programs/ironbar/styles/main.scss b/modules/home/programs/ironbar/styles/main.scss new file mode 100644 index 00000000..edb4e9b5 --- /dev/null +++ b/modules/home/programs/ironbar/styles/main.scss @@ -0,0 +1,221 @@ +@use "colors" as *; + +* { + font-family: + Product Sans, + Roboto, + sans-serif, + monospace; + font-size: 13px; + transition: 200ms ease; + + color: $fg; + /*background-color: #2d2d2d;*/ + /*background-color: $bg;*/ + border: none; + + /*opacity: 0.4;*/ +} + +#bar { + background-color: $bg; +} + +.container { + background-color: $bg; +} + +#right > * + * { + margin-left: 20px; +} + +#left > * + * { + margin-right: 20px; +} +.nix-launcher button { + all: unset; + background-color: $bg; +} +.popup-nix-launcher label { + font-family: monospace; +} + +.nix-launcher label { + background-color: transparent; + color: $bg; + font-family: monospace; + font-size: 1.5rem; + padding: 0 1.1rem 0 0.5rem; +} + +.workspaces { + all: unset; + margin-left: 10px; +} +.workspaces label { + font-family: Material Symbols Outlined; + font-size: 0.9rem; +} +.workspaces .item { + all: unset; + color: $pink; + margin-right: 5px; + padding: 0px; + font-family: Material Symbols Outlined; + border-radius: 20px; +} + +.workspaces .item.focused { + color: $red; +} +.workspaces .item.focused label { + font-size: 1.2rem; +} +.workspaces .item.inactive { + color: $maroon; +} +.workspaces .item.inactive label { + font-size: 0.5rem; +} + +.clock { + color: $fg; + background-color: $bg; + font-weight: bold; +} + +.sysinfo { + color: $fg; +} + +.tray { + background-color: $bg; +} + +.tray .item { + background-color: $bg; + -gtk-icon-effect: dim; +} + +.upower, +.upower * { + all: unset; + background-color: $bg; + color: $fg; +} +.music-img { + border-radius: 8px; + margin-right: 8px; +} +.music-ctrls * { + all: unset; + margin-left: 10px; +} + +.music { + background-color: $bg; + color: $fg; +} +.music label { + font-size: 16px; +} + +.popup { + background-color: $bg; + border: 1px solid $subtext0; +} + +.popup-clock { + padding: 1em; +} + +.calendar-clock { + color: $fg; + font-size: 2.5em; + padding-bottom: 0.1em; +} + +.calendar { + background-color: $bg; + color: $fg; +} + +.calendar .header { + padding-top: 1em; + border-top: 1px solid $subtext0; + font-size: 1.5em; +} + +.calendar:selected { + background-color: $blue; +} + +.power-menu { + margin-left: 10px; +} + +.power-menu .power-btn { + color: $fg; + background-color: $bg; +} + +.power-menu .power-btn:hover { + background-color: $mantle; +} + +.popup-power-menu { + padding: 1em; +} + +.popup-power-menu #header { + color: $fg; + font-size: 1.4em; + border-bottom: 1px solid $overlay1; + padding-bottom: 0.4em; + margin-bottom: 0.8em; +} + +.popup-power-menu .power-btn { + color: $fg; + background-color: $bg; + border: 1px solid $overlay1; + padding: 0.6em 1em; +} + +.popup-power-menu .power-btn + .power-btn { + margin-left: 1em; +} + +.popup-power-menu .power-btn:hover { + background-color: $mantle; +} + +.music { + all: unset; + color: $fg; + font-size: 16px; +} + +.popup-music .album-art { + margin-right: 1em; + border-radius: 20px; +} + +.popup-music .title .icon-box, +.popup-mpd .title .icon-icon { + font-size: 1.7em; +} + +.popup-music .controls * { + border-radius: 0; + background-color: transparent; + color: $fg; +} + +.popup-music .controls *:disabled { + color: $overlay1; +} + +.focused { + color: $fg; +} diff --git a/modules/home/programs/nwg-bar/default.nix b/modules/home/programs/nwg-bar/default.nix new file mode 100644 index 00000000..365b1b04 --- /dev/null +++ b/modules/home/programs/nwg-bar/default.nix @@ -0,0 +1,77 @@ +{ + pkgs, + config, + lib, + ... +}: let + inherit (lib) mkIf mkEnableOption; + cfg = config.home.programs.nwg-bar; +in { + options = { + home.programs.nwg-bar.enable = mkEnableOption "Enables nwg-bar"; + }; + config = mkIf cfg.enable { + home.packages = with pkgs; [ + nwg-bar + ]; + xdg.configFile."nwg-bar/bar.json".text = builtins.toJSON [ + { + label = "Lock"; + exec = "hyprlock"; + icon = "${config.gtk.iconTheme.package}/share/icons/Adwaita/symbolic/status/system-lock-screen-symbolic.svg"; + } + { + label = "Logout"; + exec = "hyprctl dispatch exit"; + icon = "${config.gtk.iconTheme.package}/share/icons/Adwaita/symbolic/actions/system-log-out-symbolic.svg"; + } + { + label = "Reboot"; + exec = "systemctl reboot"; + icon = "${config.gtk.iconTheme.package}/share/icons/Adwaita/symbolic/actions/system-reboot-symbolic.svg"; + } + { + label = "Shutdown"; + exec = "systemctl -i poweroff"; + icon = "${config.gtk.iconTheme.package}/share/icons/Adwaita/symbolic/actions/system-shutdown-symbolic.svg"; + } + ]; + xdg.configFile."nwg-bar/style.css".text = '' + window { + background-color: rgba (0, 0, 0, 0.6) + } + + /* Outer bar container, takes all the window width/height */ + #outer-box { + margin: 0px + } + + /* Inner bar container, surrounds buttons */ + #inner-box { + background-color: rgba (0, 0, 0, 0.85); + border-radius: 0px; + border-style: none; + border-width: 1px; + border-color: rgba (156, 142, 122, 0.7); + padding: 5px; + margin: 5px + } + + button, image { + background: none; + border: none; + box-shadow: none + } + + button { + padding-left: 10px; + padding-right: 10px; + margin: 5px + } + + button:hover { + background-color: rgba (255, 255, 255, 0.1) + } + ''; + }; +} diff --git a/nix/substituters/default.nix b/nix/substituters/default.nix index 06abce41..79c95a40 100644 --- a/nix/substituters/default.nix +++ b/nix/substituters/default.nix @@ -9,6 +9,7 @@ "https://nix-gaming.cachix.org" "https://yazi.cachix.org" "https://chaotic-nyx.cachix.org" + "https://cache.garnix.io" ]; trusted-public-keys = [ @@ -20,6 +21,7 @@ "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" "yazi.cachix.org-1:Dcdz63NZKfvUCbDGngQDAZq6kOroIrFoyO064uvLh8k=" "chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8" + "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" ]; }; } diff --git a/users/cnst/modules.nix b/users/cnst/modules.nix index 0fc81f9c..a4ee137c 100644 --- a/users/cnst/modules.nix +++ b/users/cnst/modules.nix @@ -53,6 +53,9 @@ hyprlock = { enable = true; }; + ironbar = { + enable = false; + }; jujutsu = { enable = false; }; @@ -68,6 +71,9 @@ neovim = { enable = false; }; + nwg-bar = { + enable = true; + }; rofi = { enable = false; };