diff --git a/home/programs/graphical/bars/eww/config/scripts/window_name.py b/home/programs/graphical/bars/eww/config/scripts/window_name.py index acc5376..be87b65 100755 --- a/home/programs/graphical/bars/eww/config/scripts/window_name.py +++ b/home/programs/graphical/bars/eww/config/scripts/window_name.py @@ -7,6 +7,7 @@ the window names. Window name and class are obtained from piped stdin, to preven needlessly keep restarting this program, which takes a while due to the interpreter starting overhead. """ + import json import re import sys @@ -50,9 +51,9 @@ class RemapRule: # Rules will be applied in specified order REMAP_RULES: list[RemapRule] = [ RemapRule(r"", "", ""), - RemapRule(r"(.*) — Mozilla Firefox", " {}", "firefox"), - RemapRule(r"Mozilla Firefox", " Mozilla Firefox", "firefox"), - RemapRule(r"Alacritty", " Alacritty", "Alacritty"), + RemapRule(r"(.*) — Mozilla Firefox", " {}", "firefox"), + RemapRule(r"Mozilla Firefox", " Mozilla Firefox", "firefox"), + RemapRule(r"Alacritty", " Alacritty", "Alacritty"), RemapRule( r"zsh;#toggleterm#1 - \(term:\/\/(.+)\/\/(\d+):(.+)\) - N?VIM", " Terminal: {0}", @@ -63,13 +64,13 @@ REMAP_RULES: list[RemapRule] = [ RemapRule(r"(.+) - Discord", " {}", "discord"), RemapRule(r"(?:\(\d+\) )?Discord \| (.+)", " {}", "vesktop"), RemapRule(r"(.+) - mpv", " {}", "mpv"), - RemapRule(r"Stremio - (.+)", " Stremio - {}", r"(Stremio)|(com.stremio.stremio)"), - RemapRule(r"Spotify", " Spotify", "Spotify"), - RemapRule(r"pulsemixer", " Pulsemixer"), + RemapRule(r"Stremio - (.+)", " Stremio - {}", r"(Stremio)|(com.stremio.stremio)"), + RemapRule(r"Spotify((?: Premium)?)", " Spotify{}", "[Ss]potify"), + RemapRule(r"pulsemixer", " Pulsemixer"), RemapRule(r"(.*)", " {}", "Pcmanfm"), RemapRule(r"(.*)", " {}", "pcmanfm-qt"), # Needs to be last - RemapRule(r"(.*)", " {}", "kitty"), + RemapRule(r"(.*)", " {}", "kitty"), ] MAX_LENGTH = 65 @@ -81,7 +82,9 @@ def iter_window() -> Iterator[tuple[str, str]]: line = line.removesuffix("\n") els = line.split(",", maxsplit=1) if len(els) != 2: - raise ValueError(f"Expected 2 arguments from stdin line (name, class), but got {len(els)}") + raise ValueError( + f"Expected 2 arguments from stdin line (name, class), but got {len(els)}" + ) yield els[1], els[0] diff --git a/hosts/voyager/default.nix b/hosts/voyager/default.nix index ece3ddb..bc26a3c 100644 --- a/hosts/voyager/default.nix +++ b/hosts/voyager/default.nix @@ -54,29 +54,42 @@ enable = true; persistentMountPoint = "/persist/home"; extraDirectories = [ + # Nixos flake + "dots" + + # Personal data "Downloads" "Personal" "Media" - "dots" + # Browsers ".mozilla" ".mullvad" ".config/chromium" + + # Applications ".config/spotify" ".config/vesktop" + ".local/share/Smart Code ltd/Stremio" + + # Tools ".local/share/gnupg" ".local/share/zoxide" ".local/share/wakatime" ".local/share/nvim" ".local/state/nvim" - ".local/share/zsh" - ".local/share/Smart Code ltd/Stremio" + + # Services + ".local/state/wireplumber" # volume settings + + # Language package managers ".local/share/cargo" ".local/share/go" ]; extraFiles = [ ".config/git/git-credentials" ".cache/walker/history.gob" + ".local/share/zsh/zsh_history" ]; }; diff --git a/system/shared/boot/default.nix b/system/shared/boot/default.nix index d6a59b9..7c9f5cd 100644 --- a/system/shared/boot/default.nix +++ b/system/shared/boot/default.nix @@ -4,6 +4,7 @@ _: { ./generic.nix ./secure-boot.nix ./initrd.nix + ./numlock.nix ./plymouth.nix ]; } diff --git a/system/shared/boot/numlock.nix b/system/shared/boot/numlock.nix new file mode 100644 index 0000000..64bb6e7 --- /dev/null +++ b/system/shared/boot/numlock.nix @@ -0,0 +1,32 @@ +{ pkgs, ... }: { + boot.initrd.systemd = { + # Include setleds binary in the initrd + # (the nix store doesn't exists in there yet, so we need to include + # all of the necessary binaries ahead of time here) + extraBin = { + setleds = "${pkgs.kbd}/bin/setleds"; + }; + + # Enable numlock in the early userspace (initrd) + # This will happen before we're asked for the disk decryption password + services."numlock" = { + enable = true; + description = "Activate Numlock"; + wantedBy = [ "initrd.target" ]; + # Delay disk decryption until this unit is started + before = [ "systemd-cryptsetup@cryptfs.service" ]; + unitConfig.DefaultDependencies = "no"; + serviceConfig.Type = "oneshot"; + # This is essentially runs the same code as present in the + # mkinitcpio-numlock hook on Arch Linux (AUR). + script = '' + #!/bin/bash + + for tty in /dev/tty{1..6} + do + /bin/setleds -D +num < "$tty"; + done + ''; + }; + }; +}