From 659fbd715a90a8d84846e64257bc8d388c1a34a2 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 17:04:13 +0200 Subject: [PATCH 001/183] Initial nixos config file --- nixos-config/configuration.nix | 196 +++++++++++++++++++++++++++++++++ 1 file changed, 196 insertions(+) create mode 100644 nixos-config/configuration.nix diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix new file mode 100644 index 00000000..c7864b8f --- /dev/null +++ b/nixos-config/configuration.nix @@ -0,0 +1,196 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ config, pkgs, ... }: + +let + user = "exu"; + hostname = "nixos"; +in +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + + ]; + + # Use the systemd-boot EFI boot loader. + boot.loader = { + systemd-boot = { + enable = true; + configurationLimit = 5; + }; + efi = { + canTouchEfiVariables = true; + }; + }; + + networking.hostName = "${hostname}"; # Define your hostname. + # Pick only one of the below networking options. + # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + + # Set your time zone. + time.timeZone = "Europe/Zurich"; + + # Configure network proxy if necessary + # networking.proxy.default = "http://user:password@proxy:port/"; + # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; + + # Select internationalisation properties. + i18n.defaultLocale = "de_CH.UTF-8"; + console = { + # font = "Lat2-Terminus16"; + keyMap = "de_CH-latin1"; + # useXkbConfig = true; # use xkbOptions in tty. + }; + + # Enable the X11 windowing system. + services.xserver = { + enable = true; + #displayManager.defaultSession = "none+hyprland"; + #displayManager.startx.enable = true; + displayManager.lightdm = { + enable = true; + greeters.gtk.enable = true; + }; + #windowManager.openbox = { + # enable = true; + #}; + }; + + # Hyprland + security.polkit.enable = true; + programs.hyprland = { + enable = true; + }; + + # Configure keymap in X11 + services.xserver.layout = "ch"; + # services.xserver.xkbOptions = { + # "eurosign:e"; + # "caps:escape" # map caps to escape. + # }; + + # Enable CUPS to print documents. + services.printing.enable = true; + + # Enable sound. + # sound.enable = true; + # hardware.pulseaudio.enable = true; + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # If you want to use JACK applications, uncomment this + #jack.enable = true; + }; + + # Enable touchpad support (enabled default in most desktopManager). + services.xserver.libinput.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + # users.users.alice = { + # isNormalUser = true; + # extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. + # packages = with pkgs; [ + # firefox + # thunderbird + # ]; + # }; + + # Enable fish shell for nix + programs.fish.enable = true; + + users.users.${user} = { + isNormalUser = true; + extraGroups = [ "wheel" "video" "audio" "networkmanager" "lp" "scanner" ]; + initialPassword = "pass"; + shell = pkgs.fish; + }; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. + wget + hyprland + open-vm-tools + wayland + xdg-utils + pciutils + ]; + + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + # Some programs need SUID wrappers, can be configured further or are + # started in user sessions. + # programs.mtr.enable = true; + # programs.gnupg.agent = { + # enable = true; + # enableSSHSupport = true; + # }; + + # List services that you want to enable: + + # Enable the OpenSSH daemon. + services.openssh.enable = true; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + # networking.firewall.enable = false; + + # Copy the NixOS configuration file and link it from the resulting system + # (/run/current-system/configuration.nix). This is useful in case you + # accidentally delete configuration.nix. + # system.copySystemConfiguration = true; + + # BTRFS options + fileSystems = { + "/".options = [ "compress=zstd" ]; + "/home".options = [ "compress=zstd" ]; + "/nix".options = [ "compress=zstd" "noatime" ]; + "/swap".options = [ "noatime" ]; + }; + + # Swapfile + swapDevices = [ { device = "/swap/swapfile"; } ]; + + # Enable automatic package upgrades + system.autoUpgrade = { + enable = true; + channel = "https://nixos.org/channels/nixos-unstable"; + }; + + # Enable automatic garbage collection + nix = { + settings.auto-optimise-store = true; + gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 7d"; + }; + }; + + # This value determines the NixOS release from which the default + # settings for stateful data, like file locations and database versions + # on your system were taken. It‘s perfectly fine and recommended to leave + # this value at the release version of the first install of this system. + # Before changing this value read the documentation for this option + # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). + system.stateVersion = "22.11"; # Did you read the comment? + + home-manager.users.${user} = { pkgs, ... }: { + home.stateVersion = "22.11"; + home.packages = [ + pkgs.firefox + ]; + }; + +} From 21cbe86315137a9c2757d88b086821a3f4872bb6 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 19:29:05 +0200 Subject: [PATCH 002/183] Edit config - Move Home-Manager to separate file - Remove some unneeded lines --- nixos-config/configuration.nix | 49 +++++----------------------------- 1 file changed, 7 insertions(+), 42 deletions(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index c7864b8f..826f22bf 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -1,6 +1,6 @@ # Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). +# and in the NixOS manual (accessible by running `nixos-help`). { config, pkgs, ... }: @@ -9,10 +9,9 @@ let hostname = "nixos"; in { - imports = - [ # Include the results of the hardware scan. + imports = [ ./hardware-configuration.nix - + ./home-manager.nix ]; # Use the systemd-boot EFI boot loader. @@ -41,23 +40,17 @@ in # Select internationalisation properties. i18n.defaultLocale = "de_CH.UTF-8"; console = { - # font = "Lat2-Terminus16"; keyMap = "de_CH-latin1"; - # useXkbConfig = true; # use xkbOptions in tty. }; # Enable the X11 windowing system. services.xserver = { enable = true; - #displayManager.defaultSession = "none+hyprland"; - #displayManager.startx.enable = true; + displayManager.defaultSession = "Hyprland"; displayManager.lightdm = { enable = true; greeters.gtk.enable = true; }; - #windowManager.openbox = { - # enable = true; - #}; }; # Hyprland @@ -68,17 +61,11 @@ in # Configure keymap in X11 services.xserver.layout = "ch"; - # services.xserver.xkbOptions = { - # "eurosign:e"; - # "caps:escape" # map caps to escape. - # }; # Enable CUPS to print documents. services.printing.enable = true; - # Enable sound. - # sound.enable = true; - # hardware.pulseaudio.enable = true; + # Enable Pipewire security.rtkit.enable = true; services.pipewire = { enable = true; @@ -92,19 +79,10 @@ in # Enable touchpad support (enabled default in most desktopManager). services.xserver.libinput.enable = true; - # Define a user account. Don't forget to set a password with ‘passwd’. - # users.users.alice = { - # isNormalUser = true; - # extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user. - # packages = with pkgs; [ - # firefox - # thunderbird - # ]; - # }; - # Enable fish shell for nix programs.fish.enable = true; + # User config users.users.${user} = { isNormalUser = true; extraGroups = [ "wheel" "video" "audio" "networkmanager" "lp" "scanner" ]; @@ -115,13 +93,8 @@ in # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. - wget - hyprland - open-vm-tools - wayland + vim xdg-utils - pciutils ]; # Allow unfree packages @@ -185,12 +158,4 @@ in # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). system.stateVersion = "22.11"; # Did you read the comment? - - home-manager.users.${user} = { pkgs, ... }: { - home.stateVersion = "22.11"; - home.packages = [ - pkgs.firefox - ]; - }; - } From af8d59b8047032b246a1ba1b3d5b18d065413e5f Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 19:29:38 +0200 Subject: [PATCH 003/183] Add Home-Manager config file --- nixos-config/home-manager.nix | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 nixos-config/home-manager.nix diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix new file mode 100644 index 00000000..9365c764 --- /dev/null +++ b/nixos-config/home-manager.nix @@ -0,0 +1,21 @@ +{ config, pkgs, ... }: + +let + user = "exu"; + hostname = "nixos"; +in +{ + imports = [ + + ]; + + home-manager.users.${user} = { pkgs, ... }: { + home.stateVersion = "22.11"; + home.packages = [ + pkgs.firefox + pkgs.kitty + pkgs.pciutils + pkgs.wget + ]; + }; +} From b11ca256c0732672f2d6732d270c0682a7623a87 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 19:31:07 +0200 Subject: [PATCH 004/183] Fix ambiguous unicode character --- nixos-config/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 826f22bf..a553155c 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -153,7 +153,7 @@ in # This value determines the NixOS release from which the default # settings for stateful data, like file locations and database versions - # on your system were taken. It‘s perfectly fine and recommended to leave + # on your system were taken. It's perfectly fine and recommended to leave # this value at the release version of the first install of this system. # Before changing this value read the documentation for this option # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html). From 7ee7feff392d6200b3ac1216e692512b147a7fd1 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 19:44:43 +0200 Subject: [PATCH 005/183] Update packages --- nixos-config/configuration.nix | 4 +++- nixos-config/home-manager.nix | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index a553155c..9ffb1d29 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -46,7 +46,6 @@ in # Enable the X11 windowing system. services.xserver = { enable = true; - displayManager.defaultSession = "Hyprland"; displayManager.lightdm = { enable = true; greeters.gtk.enable = true; @@ -95,6 +94,9 @@ in environment.systemPackages = with pkgs; [ vim xdg-utils + pciutils + wayland + hyprland ]; # Allow unfree packages diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 9365c764..d7d591e0 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -14,7 +14,6 @@ in home.packages = [ pkgs.firefox pkgs.kitty - pkgs.pciutils pkgs.wget ]; }; From 2274109e074b7054779b5bdcd26f5bc1d2f38727 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 19:47:53 +0200 Subject: [PATCH 006/183] More updates --- nixos-config/configuration.nix | 5 +++-- nixos-config/home-manager.nix | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 9ffb1d29..cf95345e 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -93,10 +93,11 @@ in # $ nix search wget environment.systemPackages = with pkgs; [ vim + wget + hyprland + wayland xdg-utils pciutils - wayland - hyprland ]; # Allow unfree packages diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index d7d591e0..32b13fcf 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -14,7 +14,6 @@ in home.packages = [ pkgs.firefox pkgs.kitty - pkgs.wget ]; }; } From e499281933bebe6f33e95e668d6d62a7cd82ab57 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 19:53:46 +0200 Subject: [PATCH 007/183] Switch to GDM as display manager --- nixos-config/configuration.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index cf95345e..efefadd5 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -46,9 +46,14 @@ in # Enable the X11 windowing system. services.xserver = { enable = true; - displayManager.lightdm = { + displayManager.defaultSession = "hyprland"; + #displayManager.lightdm = { + # enable = true; + # greeters.gtk.enable = true; + #}; + displayManager.gdm = { enable = true; - greeters.gtk.enable = true; + wayland = true; }; }; From 68c83a32380ca15254815ea8f22650d25f41f404 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 20:24:32 +0200 Subject: [PATCH 008/183] Add comments to packages --- nixos-config/home-manager.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 32b13fcf..b6a4d2dd 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -12,8 +12,9 @@ in home-manager.users.${user} = { pkgs, ... }: { home.stateVersion = "22.11"; home.packages = [ - pkgs.firefox - pkgs.kitty + pkgs.firefox # browser + pkgs.kitty # terminal + pkgs.pciutils # lspci command ]; }; } From b4a9a7ecc26790de5bafa81de26da65467bdc354 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 20:24:39 +0200 Subject: [PATCH 009/183] Add separate system packages file --- nixos-config/configuration.nix | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index efefadd5..ec45ab00 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -11,6 +11,7 @@ in { imports = [ ./hardware-configuration.nix + ./system-packages.nix ./home-manager.nix ]; @@ -94,17 +95,6 @@ in shell = pkgs.fish; }; - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - vim - wget - hyprland - wayland - xdg-utils - pciutils - ]; - # Allow unfree packages nixpkgs.config.allowUnfree = true; From 1a402b6a57efa1e2337e51627db2b3c8c16efaba Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 20:24:48 +0200 Subject: [PATCH 010/183] System package list --- nixos-config/system-packages.nix | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 nixos-config/system-packages.nix diff --git a/nixos-config/system-packages.nix b/nixos-config/system-packages.nix new file mode 100644 index 00000000..77e8bd03 --- /dev/null +++ b/nixos-config/system-packages.nix @@ -0,0 +1,14 @@ +{ pkgs, ... }: + +{ + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + vim + wget + hyprland + wayland + xdg-utils + ]; + +} From 22cfbb58f763fd7ee899c12977be63e34f9d9d69 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 20:25:58 +0200 Subject: [PATCH 011/183] Add update script --- nixos-config/update.sh | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100755 nixos-config/update.sh diff --git a/nixos-config/update.sh b/nixos-config/update.sh new file mode 100755 index 00000000..da934627 --- /dev/null +++ b/nixos-config/update.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env sh +set -euo pipefail + +curl -O https://gitea.exu.li/RealStickman/nixos-config/raw/branch/main/configuration.nix +curl -O https://gitea.exu.li/RealStickman/nixos-config/raw/branch/main/home-manager.nix +curl -O https://gitea.exu.li/RealStickman/nixos-config/raw/branch/main/system-packages.nix From 4bc75feb974be0062e1ad58309798d37964dc04f Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 20:34:42 +0200 Subject: [PATCH 012/183] Use git to update configs --- nixos-config/update.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nixos-config/update.sh b/nixos-config/update.sh index da934627..dcca3957 100755 --- a/nixos-config/update.sh +++ b/nixos-config/update.sh @@ -1,6 +1,7 @@ #!/usr/bin/env sh set -euo pipefail -curl -O https://gitea.exu.li/RealStickman/nixos-config/raw/branch/main/configuration.nix -curl -O https://gitea.exu.li/RealStickman/nixos-config/raw/branch/main/home-manager.nix -curl -O https://gitea.exu.li/RealStickman/nixos-config/raw/branch/main/system-packages.nix +git fetch -a +git reset --hard +git clean -fd +git pull From 360b73641050dc01a188ecbb2713ad5c44b10179 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 20:35:52 +0200 Subject: [PATCH 013/183] Add git package --- nixos-config/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index b6a4d2dd..49f70743 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -15,6 +15,7 @@ in pkgs.firefox # browser pkgs.kitty # terminal pkgs.pciutils # lspci command + pkgs.git # git ]; }; } From 62b07b4a09f0ef99f86a0259009f87c733f70cd6 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 20:36:24 +0200 Subject: [PATCH 014/183] Rebuild system after pulling updated config --- nixos-config/update.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos-config/update.sh b/nixos-config/update.sh index dcca3957..80c7c1a5 100755 --- a/nixos-config/update.sh +++ b/nixos-config/update.sh @@ -5,3 +5,5 @@ git fetch -a git reset --hard git clean -fd git pull + +nixos-rebuild switch From 10a40aeff6b28fc38339a940d2a70995001443d8 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 20:37:30 +0200 Subject: [PATCH 015/183] Add hardware-config regeneration --- nixos-config/update.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos-config/update.sh b/nixos-config/update.sh index 80c7c1a5..0c39e787 100755 --- a/nixos-config/update.sh +++ b/nixos-config/update.sh @@ -6,4 +6,8 @@ git reset --hard git clean -fd git pull +# regenerate hardware config +nixos-generate-config + +# rebuild system nixos-rebuild switch From c63cb54207013064aaa1f7bec1ac0784e70f9d95 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Sun, 16 Apr 2023 20:51:27 +0200 Subject: [PATCH 016/183] Start adding more packages --- nixos-config/home-manager.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 49f70743..c479b505 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -16,6 +16,15 @@ in pkgs.kitty # terminal pkgs.pciutils # lspci command pkgs.git # git + pkgs.emacsPackages.doom # doom emacs + pkgs.acpilight # controlling laptop monitor backlight + pkgs.networkmanagerapplet # network configuration + pkgs.wofi # app launcher (wayland replacement for rofi) + pkgs.freetype # font rendering and configuration + pkgs.fira # fira sans font + pkgs.fira-code # fira code font + pkgs.fwupd # firmware updates + pkgs.fwupd-efi # firmware updates additional EFI stuff ]; }; } From c9439933e44d09297b694ff0a32fe30423407b17 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 20:31:22 +0200 Subject: [PATCH 017/183] Add fish shell alias --- nixos-config/home-manager.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index c479b505..1d0969c3 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -27,4 +27,13 @@ in pkgs.fwupd-efi # firmware updates additional EFI stuff ]; }; + + programs = { + fish = { + enable = true; + shellAliases = { + wget = "wget -c"; + }; + }; + }; } From 74eee9bed1c7b81d1596815f3cff33301ec3589e Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 20:37:12 +0200 Subject: [PATCH 018/183] Add fish prompt function --- nixos-config/home-manager.nix | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 1d0969c3..c1b96d5e 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -34,6 +34,45 @@ in shellAliases = { wget = "wget -c"; }; + functions = { + fish_prompt = '' +# Defined in /home/marc/.config/fish/functions/fish_prompt.fish @ line 2 +# slightly modified from defaults + set -l last_pipestatus $pipestatus + set -lx __fish_last_status $status # Export for __fish_print_pipestatus. + set -l normal (set_color normal) + + # Color the prompt differently when we're root + set -l color_cwd $fish_color_cwd + set -l suffix '>' + #if functions -q fish_is_root_user; and fish_is_root_user + # if set -q fish_color_cwd_root + # set color_cwd $fish_color_cwd_root + # end + # set suffix '#' + #end + + # If we're running via SSH, change the host color. + set -l color_host $fish_color_host + #if set -q SSH_TTY + # set color_host $fish_color_host_remote + #end + + # Write pipestatus + # If the status was carried over (e.g. after `set`), don't bold it. + set -l bold_flag --bold + set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation + if test $__fish_prompt_status_generation = $status_generation + set bold_flag + end + set __fish_prompt_status_generation $status_generation + set -l prompt_status (__fish_print_pipestatus "[" "]" "|" (set_color $fish_color_status) (set_color $bold_flag $fish_color_status) $last_pipestatus) + + echo -n -s (set_color $fish_color_user) "$USER" $normal (set_color $fish_color_separator) @ $normal (set_color $color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " + #echo -n -s (set_color --bold red) "$USER" $normal (set_color --bold yellow) @ $normal (set_color cyan) (prompt_hostname) $normal ' ' (set_color yellow) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " +end +''; + }; }; }; } From 335ea4a480bcdb02b7df320cc3ad057adfe5c35b Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 20:38:47 +0200 Subject: [PATCH 019/183] Maybe syntax? --- nixos-config/home-manager.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index c1b96d5e..d4c8719a 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -35,7 +35,8 @@ in wget = "wget -c"; }; functions = { - fish_prompt = '' + fish_prompt = +'' # Defined in /home/marc/.config/fish/functions/fish_prompt.fish @ line 2 # slightly modified from defaults set -l last_pipestatus $pipestatus From bf7190bb460865f09b71cac1fb2cf42e8e2255ff Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 20:40:28 +0200 Subject: [PATCH 020/183] Move fish --- nixos-config/configuration.nix | 2 +- nixos-config/home-manager.nix | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index ec45ab00..8a4c1ef3 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -92,7 +92,7 @@ in isNormalUser = true; extraGroups = [ "wheel" "video" "audio" "networkmanager" "lp" "scanner" ]; initialPassword = "pass"; - shell = pkgs.fish; + #shell = pkgs.fish; }; # Allow unfree packages diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index d4c8719a..e5bee8c6 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -25,6 +25,7 @@ in pkgs.fira-code # fira code font pkgs.fwupd # firmware updates pkgs.fwupd-efi # firmware updates additional EFI stuff + pkgs.fish # fish shell ]; }; From 34923dfa33e21523c1b9f17e7f74ba3b07045e1c Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 20:45:22 +0200 Subject: [PATCH 021/183] move stuff --- nixos-config/home-manager.nix | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index e5bee8c6..cd8decdc 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, home, ... }: let user = "exu"; @@ -47,18 +47,9 @@ in # Color the prompt differently when we're root set -l color_cwd $fish_color_cwd set -l suffix '>' - #if functions -q fish_is_root_user; and fish_is_root_user - # if set -q fish_color_cwd_root - # set color_cwd $fish_color_cwd_root - # end - # set suffix '#' - #end # If we're running via SSH, change the host color. set -l color_host $fish_color_host - #if set -q SSH_TTY - # set color_host $fish_color_host_remote - #end # Write pipestatus # If the status was carried over (e.g. after `set`), don't bold it. @@ -71,7 +62,6 @@ in set -l prompt_status (__fish_print_pipestatus "[" "]" "|" (set_color $fish_color_status) (set_color $bold_flag $fish_color_status) $last_pipestatus) echo -n -s (set_color $fish_color_user) "$USER" $normal (set_color $fish_color_separator) @ $normal (set_color $color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " - #echo -n -s (set_color --bold red) "$USER" $normal (set_color --bold yellow) @ $normal (set_color cyan) (prompt_hostname) $normal ' ' (set_color yellow) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " end ''; }; From ce9f48087c41c1f192225ac33c8e01761f3d6220 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 20:46:38 +0200 Subject: [PATCH 022/183] Try this --- nixos-config/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index cd8decdc..1f87d492 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -7,6 +7,7 @@ in { imports = [ + ]; home-manager.users.${user} = { pkgs, ... }: { From 5fc67e68e0deb63aa715fbb8b3cc9f6214f49771 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 20:47:04 +0200 Subject: [PATCH 023/183] Remove home --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 1f87d492..646edb2e 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -1,4 +1,4 @@ -{ config, pkgs, home, ... }: +{ config, pkgs, ... }: let user = "exu"; From 9851fe64c70e6bf3cdf918f13ee79dff061f09f7 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 21:02:17 +0200 Subject: [PATCH 024/183] Finally? got the right syntax --- nixos-config/home-manager.nix | 68 ++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 33 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 646edb2e..50e82e6c 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -7,10 +7,12 @@ in { imports = [ - ]; + # keep everything using home manager within this block home-manager.users.${user} = { pkgs, ... }: { + home.username = "${user}"; + home.homeDirectory = "/home/${user}"; home.stateVersion = "22.11"; home.packages = [ pkgs.firefox # browser @@ -28,43 +30,43 @@ in pkgs.fwupd-efi # firmware updates additional EFI stuff pkgs.fish # fish shell ]; - }; - programs = { - fish = { - enable = true; - shellAliases = { - wget = "wget -c"; - }; - functions = { - fish_prompt = -'' -# Defined in /home/marc/.config/fish/functions/fish_prompt.fish @ line 2 -# slightly modified from defaults - set -l last_pipestatus $pipestatus - set -lx __fish_last_status $status # Export for __fish_print_pipestatus. - set -l normal (set_color normal) + programs = { + fish = { + enable = true; + shellAliases = { + wget = "wget -c"; + }; + functions = { + fish_prompt = + '' + # Defined in /home/marc/.config/fish/functions/fish_prompt.fish @ line 2 + # slightly modified from defaults + set -l last_pipestatus $pipestatus + set -lx __fish_last_status $status # Export for __fish_print_pipestatus. + set -l normal (set_color normal) - # Color the prompt differently when we're root - set -l color_cwd $fish_color_cwd - set -l suffix '>' + # Color the prompt differently when we're root + set -l color_cwd $fish_color_cwd + set -l suffix '>' - # If we're running via SSH, change the host color. - set -l color_host $fish_color_host + # If we're running via SSH, change the host color. + set -l color_host $fish_color_host - # Write pipestatus - # If the status was carried over (e.g. after `set`), don't bold it. - set -l bold_flag --bold - set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation - if test $__fish_prompt_status_generation = $status_generation - set bold_flag - end - set __fish_prompt_status_generation $status_generation - set -l prompt_status (__fish_print_pipestatus "[" "]" "|" (set_color $fish_color_status) (set_color $bold_flag $fish_color_status) $last_pipestatus) + # Write pipestatus + # If the status was carried over (e.g. after `set`), don't bold it. + set -l bold_flag --bold + set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation + if test $__fish_prompt_status_generation = $status_generation + set bold_flag + end + set __fish_prompt_status_generation $status_generation + set -l prompt_status (__fish_print_pipestatus "[" "]" "|" (set_color $fish_color_status) (set_color $bold_flag $fish_color_status) $last_pipestatus) - echo -n -s (set_color $fish_color_user) "$USER" $normal (set_color $fish_color_separator) @ $normal (set_color $color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " -end -''; + echo -n -s (set_color $fish_color_user) "$USER" $normal (set_color $fish_color_separator) @ $normal (set_color $color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " + end + ''; + }; }; }; }; From a6749a9037b323b076ecb55e59af832226396b3a Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 21:14:39 +0200 Subject: [PATCH 025/183] Move packages, hopefully set fish as default? --- nixos-config/configuration.nix | 4 ---- nixos-config/home-manager.nix | 33 +++++++++++++++++--------------- nixos-config/system-packages.nix | 12 +++++++----- 3 files changed, 25 insertions(+), 24 deletions(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 8a4c1ef3..f4fca52e 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -84,15 +84,11 @@ in # Enable touchpad support (enabled default in most desktopManager). services.xserver.libinput.enable = true; - # Enable fish shell for nix - programs.fish.enable = true; - # User config users.users.${user} = { isNormalUser = true; extraGroups = [ "wheel" "video" "audio" "networkmanager" "lp" "scanner" ]; initialPassword = "pass"; - #shell = pkgs.fish; }; # Allow unfree packages diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 50e82e6c..0fcaea86 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -9,26 +9,29 @@ in ]; + # root home + + programs.fish.enable = true; + # keep everything using home manager within this block home-manager.users.${user} = { pkgs, ... }: { home.username = "${user}"; home.homeDirectory = "/home/${user}"; home.stateVersion = "22.11"; - home.packages = [ - pkgs.firefox # browser - pkgs.kitty # terminal - pkgs.pciutils # lspci command - pkgs.git # git - pkgs.emacsPackages.doom # doom emacs - pkgs.acpilight # controlling laptop monitor backlight - pkgs.networkmanagerapplet # network configuration - pkgs.wofi # app launcher (wayland replacement for rofi) - pkgs.freetype # font rendering and configuration - pkgs.fira # fira sans font - pkgs.fira-code # fira code font - pkgs.fwupd # firmware updates - pkgs.fwupd-efi # firmware updates additional EFI stuff - pkgs.fish # fish shell + home.packages = with pkgs; [ + firefox # browser + kitty # terminal + pciutils # lspci command + git # git + emacs # emacs editor + emacsPackages.doom # doom emacs configuration + acpilight # controlling laptop monitor backlight + networkmanagerapplet # network configuration + wofi # app launcher (wayland replacement for rofi) + freetype # font rendering and configuration + fira # fira sans font + fira-code # fira code font + fish # fish shell ]; programs = { diff --git a/nixos-config/system-packages.nix b/nixos-config/system-packages.nix index 77e8bd03..eccbe093 100644 --- a/nixos-config/system-packages.nix +++ b/nixos-config/system-packages.nix @@ -4,11 +4,13 @@ # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - vim - wget - hyprland - wayland - xdg-utils + vim # an editor + fwupd # firmware updates + fwupd-efi # firmware updates additional EFI stuff + wget # get stuff from the net + hyprland # window manager + wayland # wayland server + xdg-utils # xdg directories, open, etc ]; } From f2199d0342534bb16e5e09653b4189b96cd4ff60 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 21:22:58 +0200 Subject: [PATCH 026/183] Try enabling fish like this --- nixos-config/configuration.nix | 5 +++++ nixos-config/home-manager.nix | 2 -- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index f4fca52e..75b0defe 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -26,6 +26,11 @@ in }; }; + # Enable completions by nix + programs.fish.enable = true; + + environment.shells = [ pkgs.fish ]; + networking.hostName = "${hostname}"; # Define your hostname. # Pick only one of the below networking options. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 0fcaea86..d74010d5 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -11,8 +11,6 @@ in # root home - programs.fish.enable = true; - # keep everything using home manager within this block home-manager.users.${user} = { pkgs, ... }: { home.username = "${user}"; From d96600b57b2e903f6b312e2161a56a24fffe1b8b Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 21:24:35 +0200 Subject: [PATCH 027/183] Reenable fish shell as default --- nixos-config/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 75b0defe..9b008f30 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -94,6 +94,7 @@ in isNormalUser = true; extraGroups = [ "wheel" "video" "audio" "networkmanager" "lp" "scanner" ]; initialPassword = "pass"; + shell = pkgs.fish; }; # Allow unfree packages From 0d0a01a6a5ed6ee6ac78ac231a3136ea71684cb1 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 21:27:08 +0200 Subject: [PATCH 028/183] Add greeting to fish --- nixos-config/home-manager.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index d74010d5..82e3503f 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -35,6 +35,10 @@ in programs = { fish = { enable = true; + interactiveShellInit = +'' +set fish_greeting "Good Morning! Nice day for fishing ain't it! Hu ha!" +''; shellAliases = { wget = "wget -c"; }; From aeb115228cafa12eebeb446c458c601d332f87d2 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 21:29:17 +0200 Subject: [PATCH 029/183] Remove end, will be automatically added --- nixos-config/home-manager.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 82e3503f..73677d8e 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -69,7 +69,6 @@ set fish_greeting "Good Morning! Nice day for fishing ain't it! Hu ha!" set -l prompt_status (__fish_print_pipestatus "[" "]" "|" (set_color $fish_color_status) (set_color $bold_flag $fish_color_status) $last_pipestatus) echo -n -s (set_color $fish_color_user) "$USER" $normal (set_color $fish_color_separator) @ $normal (set_color $color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " - end ''; }; }; From a924e6c9c9ff6d80430a96bc7a1c4c60ca8c599c Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 21:32:54 +0200 Subject: [PATCH 030/183] Add configuration for root user (curious if this works) --- nixos-config/configuration.nix | 5 ++++ nixos-config/home-manager.nix | 47 ++++++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 9b008f30..aaa74107 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -89,6 +89,11 @@ in # Enable touchpad support (enabled default in most desktopManager). services.xserver.libinput.enable = true; + # root config + users.users.root = { + shell = pkgs.fish; + } + # User config users.users.${user} = { isNormalUser = true; diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 73677d8e..56fc36b3 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -10,6 +10,53 @@ in ]; # root home + home-manager.users.root = { pkgs, ... }: { + home.username = "root"; + home.homeDirectory = "/root"; + home.stateVersion = "22.11"; + + programs = { + fish = { + enable = true; + interactiveShellInit = +'' +set fish_greeting "Good Morning! Nice day for fishing ain't it! Hu ha!" +''; + shellAliases = { + wget = "wget -c"; + }; + functions = { + fish_prompt = + '' + # Defined in /home/marc/.config/fish/functions/fish_prompt.fish @ line 2 + # slightly modified from defaults + set -l last_pipestatus $pipestatus + set -lx __fish_last_status $status # Export for __fish_print_pipestatus. + set -l normal (set_color normal) + + # Color the prompt differently when we're root + set -l color_cwd $fish_color_cwd + set -l suffix '>' + + # If we're running via SSH, change the host color. + set -l color_host $fish_color_host + + # Write pipestatus + # If the status was carried over (e.g. after `set`), don't bold it. + set -l bold_flag --bold + set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation + if test $__fish_prompt_status_generation = $status_generation + set bold_flag + end + set __fish_prompt_status_generation $status_generation + set -l prompt_status (__fish_print_pipestatus "[" "]" "|" (set_color $fish_color_status) (set_color $bold_flag $fish_color_status) $last_pipestatus) + + echo -n -s (set_color $fish_color_user) "$USER" $normal (set_color $fish_color_separator) @ $normal (set_color $color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " + ''; + }; + }; + }; + }; # keep everything using home manager within this block home-manager.users.${user} = { pkgs, ... }: { From b750876c60c01badeb9e700bb371e7aec93fa2b2 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 21:33:28 +0200 Subject: [PATCH 031/183] Fix missing ; --- nixos-config/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index aaa74107..4e45a4e7 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -92,7 +92,7 @@ in # root config users.users.root = { shell = pkgs.fish; - } + }; # User config users.users.${user} = { From 49699d7dadc9bc5602f691c3118cd33b5d6b3a12 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 21:42:38 +0200 Subject: [PATCH 032/183] Try importing fish config from file --- .../config/fish/functions/fish_prompt.fish | 32 +++++++++++++++++++ nixos-config/home-manager.nix | 28 +--------------- 2 files changed, 33 insertions(+), 27 deletions(-) create mode 100644 nixos-config/config/fish/functions/fish_prompt.fish diff --git a/nixos-config/config/fish/functions/fish_prompt.fish b/nixos-config/config/fish/functions/fish_prompt.fish new file mode 100644 index 00000000..13a97b16 --- /dev/null +++ b/nixos-config/config/fish/functions/fish_prompt.fish @@ -0,0 +1,32 @@ +set -l last_pipestatus $pipestatus +set -lx __fish_last_status $status # Export for __fish_print_pipestatus. +set -l normal (set_color normal) + +# Color the prompt differently when we're root +set -l color_cwd $fish_color_cwd +set -l suffix '>' +#if functions -q fish_is_root_user; and fish_is_root_user +# if set -q fish_color_cwd_root +# set color_cwd $fish_color_cwd_root +# end +# set suffix '#' +#end + +# If we're running via SSH, change the host color. +set -l color_host $fish_color_host +#if set -q SSH_TTY +# set color_host $fish_color_host_remote +#end + +# Write pipestatus +# If the status was carried over (e.g. after `set`), don't bold it. +set -l bold_flag --bold +set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation +if test $__fish_prompt_status_generation = $status_generation + set bold_flag +end +set __fish_prompt_status_generation $status_generation +set -l prompt_status (__fish_print_pipestatus "[" "]" "|" (set_color $fish_color_status) (set_color $bold_flag $fish_color_status) $last_pipestatus) + +echo -n -s (set_color $fish_color_user) "$USER" $normal (set_color $fish_color_separator) @ $normal (set_color $color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " +#echo -n -s (set_color --bold red) "$USER" $normal (set_color --bold yellow) @ $normal (set_color cyan) (prompt_hostname) $normal ' ' (set_color yellow) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 56fc36b3..81a62990 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -26,33 +26,7 @@ set fish_greeting "Good Morning! Nice day for fishing ain't it! Hu ha!" wget = "wget -c"; }; functions = { - fish_prompt = - '' - # Defined in /home/marc/.config/fish/functions/fish_prompt.fish @ line 2 - # slightly modified from defaults - set -l last_pipestatus $pipestatus - set -lx __fish_last_status $status # Export for __fish_print_pipestatus. - set -l normal (set_color normal) - - # Color the prompt differently when we're root - set -l color_cwd $fish_color_cwd - set -l suffix '>' - - # If we're running via SSH, change the host color. - set -l color_host $fish_color_host - - # Write pipestatus - # If the status was carried over (e.g. after `set`), don't bold it. - set -l bold_flag --bold - set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation - if test $__fish_prompt_status_generation = $status_generation - set bold_flag - end - set __fish_prompt_status_generation $status_generation - set -l prompt_status (__fish_print_pipestatus "[" "]" "|" (set_color $fish_color_status) (set_color $bold_flag $fish_color_status) $last_pipestatus) - - echo -n -s (set_color $fish_color_user) "$USER" $normal (set_color $fish_color_separator) @ $normal (set_color $color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " - ''; + fish_prompt = (builtins.readFile ./config/fish/functions/fish_prompt.fish); }; }; }; From 3cce0c217ef3bae4ddd814e35eb6967939127bd8 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 21:44:54 +0200 Subject: [PATCH 033/183] Set the same for the user --- nixos-config/home-manager.nix | 28 +--------------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 81a62990..3ef4d3f3 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -64,33 +64,7 @@ set fish_greeting "Good Morning! Nice day for fishing ain't it! Hu ha!" wget = "wget -c"; }; functions = { - fish_prompt = - '' - # Defined in /home/marc/.config/fish/functions/fish_prompt.fish @ line 2 - # slightly modified from defaults - set -l last_pipestatus $pipestatus - set -lx __fish_last_status $status # Export for __fish_print_pipestatus. - set -l normal (set_color normal) - - # Color the prompt differently when we're root - set -l color_cwd $fish_color_cwd - set -l suffix '>' - - # If we're running via SSH, change the host color. - set -l color_host $fish_color_host - - # Write pipestatus - # If the status was carried over (e.g. after `set`), don't bold it. - set -l bold_flag --bold - set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation - if test $__fish_prompt_status_generation = $status_generation - set bold_flag - end - set __fish_prompt_status_generation $status_generation - set -l prompt_status (__fish_print_pipestatus "[" "]" "|" (set_color $fish_color_status) (set_color $bold_flag $fish_color_status) $last_pipestatus) - - echo -n -s (set_color $fish_color_user) "$USER" $normal (set_color $fish_color_separator) @ $normal (set_color $color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " - ''; + fish_prompt = (builtins.readFile ./config/fish/functions/fish_prompt.fish); }; }; }; From 76f748dac21c9b1f9dd13f94d358ecd6e0d723e4 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 21:50:12 +0200 Subject: [PATCH 034/183] Move interactive startup to separate config --- .../config/fish/conf.d/interactive.fish | 38 +++++++++++++++++++ nixos-config/home-manager.nix | 10 +---- 2 files changed, 40 insertions(+), 8 deletions(-) create mode 100644 nixos-config/config/fish/conf.d/interactive.fish diff --git a/nixos-config/config/fish/conf.d/interactive.fish b/nixos-config/config/fish/conf.d/interactive.fish new file mode 100644 index 00000000..08c7c184 --- /dev/null +++ b/nixos-config/config/fish/conf.d/interactive.fish @@ -0,0 +1,38 @@ +#vi mode for fish +#fish_vi_key_bindings +fish_default_key_bindings + +# change greeting +set fish_greeting "Good Morning! Nice day for fishing ain't it! Hu ha!" + +# Info: +# https://fishshell.com/docs/current/index.html#variables-for-changing-highlighting-colors +set fish_color_normal blue +set fish_color_command blue +set fish_color_quote bryellow +set fish_color_redirection +set fish_color_end brred +set fish_color_error red +set fish_color_param brblue +set fish_color_comment white +set fish_color_selection brcyan +set fish_color_search_match magenta +set fish_color_operator blue +set fish_color_escape green +set fish_color_autosuggestion brwhite +set fish_color_host_remote brwhite +set fish_color_cancel brred + +# used in prompt +set fish_color_user --bold red +set fish_color_separator --bold yellow +set fish_color_host cyan +set fish_color_cwd yellow + +# environment variables +# for ranger +#set RANGER_LOAD_DEFAULT_RC FALSE +# SSH Agent +#set SSH_AUTH_SOCK "$XDG_RUNTIME_DIR/ssh-agent.socket" +set SSH_AUTH_SOCK /run/user/1000/ssh-agent.socket +export SSH_AUTH_SOCK diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 3ef4d3f3..a9656535 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -18,10 +18,7 @@ in programs = { fish = { enable = true; - interactiveShellInit = -'' -set fish_greeting "Good Morning! Nice day for fishing ain't it! Hu ha!" -''; + interactiveShellInit = (builtins.readFile .config/fish/conf.d/interactive.fish); shellAliases = { wget = "wget -c"; }; @@ -56,10 +53,7 @@ set fish_greeting "Good Morning! Nice day for fishing ain't it! Hu ha!" programs = { fish = { enable = true; - interactiveShellInit = -'' -set fish_greeting "Good Morning! Nice day for fishing ain't it! Hu ha!" -''; + interactiveShellInit = (builtins.readFile .config/fish/conf.d/interactive.fish); shellAliases = { wget = "wget -c"; }; From 6bcfdcceeb5c69e6ea4c2855a98017f3812fb86e Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 21:51:13 +0200 Subject: [PATCH 035/183] Fix path given --- nixos-config/home-manager.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index a9656535..1f5fb3f1 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -18,7 +18,7 @@ in programs = { fish = { enable = true; - interactiveShellInit = (builtins.readFile .config/fish/conf.d/interactive.fish); + interactiveShellInit = (builtins.readFile ./config/fish/conf.d/interactive.fish); shellAliases = { wget = "wget -c"; }; @@ -53,7 +53,7 @@ in programs = { fish = { enable = true; - interactiveShellInit = (builtins.readFile .config/fish/conf.d/interactive.fish); + interactiveShellInit = (builtins.readFile ./config/fish/conf.d/interactive.fish); shellAliases = { wget = "wget -c"; }; From 15c0137ac64f7c4601fd235798357f3c6b7db97c Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 21:52:24 +0200 Subject: [PATCH 036/183] Add kitty to root user --- nixos-config/home-manager.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 1f5fb3f1..ef3e4f50 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -14,6 +14,9 @@ in home.username = "root"; home.homeDirectory = "/root"; home.stateVersion = "22.11"; + home.packages = with pkgs; [ + kitty # terminfo support + ]; programs = { fish = { From 88ffe4a2121b63d83fe0ae458f121f6183f5c7f2 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 16:51:45 +0200 Subject: [PATCH 037/183] Add hyprland config file --- nixos-config/config/hypr/hyprland.conf | 172 +++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 nixos-config/config/hypr/hyprland.conf diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf new file mode 100644 index 00000000..c48d5478 --- /dev/null +++ b/nixos-config/config/hypr/hyprland.conf @@ -0,0 +1,172 @@ +# +# Please note not all available settings / options are set here. +# For a full list, see the wiki +# + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=,preferred,auto,auto + + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +# Execute your favorite apps at launch +# exec-once = waybar & hyprpaper & firefox + +# Source a file (multi-file configs) +# source = ~/.config/hypr/myColors.conf + +# Some default env vars. +env = XCURSOR_SIZE,24 + +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = de_CH-latin1 + #kb_variant = + #kb_model = + #kb_options = + #kb_rules = + + follow_mouse = 1 + + touchpad { + natural_scroll = false + } + + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} + +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + #gaps_in = 5 + #gaps_out = 20 + border_size = 2 + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + + layout = dwindle +} + +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + + #rounding = 10 + blur = yes + blur_size = 3 + blur_passes = 1 + blur_new_optimizations = on + + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} + +animations { + enabled = yes + + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} + +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this +} + +master { + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true +} + +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = off +} + +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more +#device:epic-mouse-v1 { +# sensitivity = -0.5 +#} + +# Example windowrule v1 +# windowrule = float, ^(kitty)$ +# Example windowrule v2 +# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more + + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mod = SUPER + +# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more +bind = CTRL, $mod, Return, exec, kitty +bind = CTRL, $mod, a, exec, wofi --show drun +bind = $mod, Q, killactive, + +# try this? +bind = $mod, X, l, exit, + +#bind = $mod, Q, exec, kitty +#bind = $mod, C, killactive, +bind = $mod, M, exit, +#bind = $mod, E, exec, dolphin +#bind = $mod, V, togglefloating, +#bind = $mod, R, exec, wofi --show drun +#bind = $mod, P, pseudo, # dwindle +#bind = $mod, J, togglesplit, # dwindle + +# Move focus with $mod + arrow keys +bind = $mod, left, movefocus, l +bind = $mod, right, movefocus, r +bind = $mod, up, movefocus, u +bind = $mod, down, movefocus, d + +# Move focus with $mod + hjkl +bind = $mod, h, movefocus, l +bind = $mod, l, movefocus, r +bind = $mod, k, movefocus, u +bind = $mod, j, movefocus, d + + +# Switch workspaces with mainMod + [0-9] +bind = $mod, 1, workspace, 1 +bind = $mod, 2, workspace, 2 +bind = $mod, 3, workspace, 3 +bind = $mod, 4, workspace, 4 +bind = $mod, 5, workspace, 5 +bind = $mod, 6, workspace, 6 +bind = $mod, 7, workspace, 7 +bind = $mod, 8, workspace, 8 +bind = $mod, 9, workspace, 9 +bind = $mod, 0, workspace, 10 + +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mod SHIFT, 1, movetoworkspace, 1 +bind = $mod SHIFT, 2, movetoworkspace, 2 +bind = $mod SHIFT, 3, movetoworkspace, 3 +bind = $mod SHIFT, 4, movetoworkspace, 4 +bind = $mod SHIFT, 5, movetoworkspace, 5 +bind = $mod SHIFT, 6, movetoworkspace, 6 +bind = $mod SHIFT, 7, movetoworkspace, 7 +bind = $mod SHIFT, 8, movetoworkspace, 8 +bind = $mod SHIFT, 9, movetoworkspace, 9 +bind = $mod SHIFT, 0, movetoworkspace, 10 + +# Scroll through existing workspaces with $mod + scroll +bind = $mod, mouse_down, workspace, e+1 +bind = $mod, mouse_up, workspace, e-1 + +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mod, mouse:272, movewindow +bindm = $mod, mouse:273, resizewindow From fdee5e94508a04a1f3aba3be1769f3c72660a3d0 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:02:45 +0200 Subject: [PATCH 038/183] Add hyprland to home-manager --- nixos-config/home-hyprland.nix | 17 +++++++++++++++++ nixos-config/home-manager.nix | 4 ++++ 2 files changed, 21 insertions(+) create mode 100644 nixos-config/home-hyprland.nix diff --git a/nixos-config/home-hyprland.nix b/nixos-config/home-hyprland.nix new file mode 100644 index 00000000..cb8f3be5 --- /dev/null +++ b/nixos-config/home-hyprland.nix @@ -0,0 +1,17 @@ +{pkgs, ...}: let + flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz"; + + hyprland = (import flake-compat { + src = builtins.fetchTarball "https://github.com/hyprwm/Hyprland/archive/master.tar.gz"; + }).defaultNix; +in { + imports = [ + hyprland.homeManagerModules.default + ]; + + wayland.windowManager.hyprland = { + enable = true; + + extraConfig = (builtins.readFile ./config/hypr/hyprland.conf); + }; +} diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index ef3e4f50..d578b01e 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -18,6 +18,10 @@ in kitty # terminfo support ]; + imports = [ + ./home-hyprland.nix + ]; + programs = { fish = { enable = true; From b047b44d4a79b9f3609b7feeca5483c8fcb037b5 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:03:04 +0200 Subject: [PATCH 039/183] Disable hyprland in system packages --- nixos-config/system-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/system-packages.nix b/nixos-config/system-packages.nix index eccbe093..1e9741ff 100644 --- a/nixos-config/system-packages.nix +++ b/nixos-config/system-packages.nix @@ -8,7 +8,7 @@ fwupd # firmware updates fwupd-efi # firmware updates additional EFI stuff wget # get stuff from the net - hyprland # window manager + #hyprland # window manager wayland # wayland server xdg-utils # xdg directories, open, etc ]; From cf02676b800eb24e7beda4faa875b4c5ba1b0bf1 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:11:04 +0200 Subject: [PATCH 040/183] Add to exu user --- nixos-config/home-manager.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index d578b01e..38e8a091 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -57,6 +57,10 @@ in fish # fish shell ]; + imports = [ + ./home-hyprland.nix + ]; + programs = { fish = { enable = true; From 01eeb7cfd075eaef57493cda2915952311c36798 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:14:32 +0200 Subject: [PATCH 041/183] Does this work? --- nixos-config/config/hypr/hyprland.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf index c48d5478..6e0c58ff 100644 --- a/nixos-config/config/hypr/hyprland.conf +++ b/nixos-config/config/hypr/hyprland.conf @@ -115,7 +115,7 @@ bind = CTRL, $mod, a, exec, wofi --show drun bind = $mod, Q, killactive, # try this? -bind = $mod, X, l, exit, +bind = $mod, X, L, exit, #bind = $mod, Q, exec, kitty #bind = $mod, C, killactive, From 83290a08f20b54852dc51d1315c6c7423144864d Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:17:31 +0200 Subject: [PATCH 042/183] Reenable keyboard rules --- nixos-config/config/hypr/hyprland.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf index 6e0c58ff..6c772972 100644 --- a/nixos-config/config/hypr/hyprland.conf +++ b/nixos-config/config/hypr/hyprland.conf @@ -21,10 +21,10 @@ env = XCURSOR_SIZE,24 # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { kb_layout = de_CH-latin1 - #kb_variant = - #kb_model = - #kb_options = - #kb_rules = + kb_variant = + kb_model = + kb_options = + kb_rules = follow_mouse = 1 From ca642783aba5c44d935095b1fe53ae8591642d8e Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:20:35 +0200 Subject: [PATCH 043/183] Nope, doesn't work --- nixos-config/config/hypr/hyprland.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf index 6c772972..d6657cfa 100644 --- a/nixos-config/config/hypr/hyprland.conf +++ b/nixos-config/config/hypr/hyprland.conf @@ -114,8 +114,8 @@ bind = CTRL, $mod, Return, exec, kitty bind = CTRL, $mod, a, exec, wofi --show drun bind = $mod, Q, killactive, -# try this? -bind = $mod, X, L, exit, +# Exit hyprland +bind = $mod, ALT, L, exit, #bind = $mod, Q, exec, kitty #bind = $mod, C, killactive, From 19799fb2ff0a583c6d00c91c2c475382a3ed5464 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:24:20 +0200 Subject: [PATCH 044/183] kb layout? --- nixos-config/config/hypr/hyprland.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf index d6657cfa..2f9a76f2 100644 --- a/nixos-config/config/hypr/hyprland.conf +++ b/nixos-config/config/hypr/hyprland.conf @@ -20,7 +20,8 @@ env = XCURSOR_SIZE,24 # For all categories, see https://wiki.hyprland.org/Configuring/Variables/ input { - kb_layout = de_CH-latin1 + #kb_layout = de_CH-latin1 + kb_layout = ch kb_variant = kb_model = kb_options = From cdde95ffbfaf3f937261f0bebf5b4e684c9d453e Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:26:44 +0200 Subject: [PATCH 045/183] maybe reorder? --- nixos-config/config/hypr/hyprland.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf index 2f9a76f2..3dd9329d 100644 --- a/nixos-config/config/hypr/hyprland.conf +++ b/nixos-config/config/hypr/hyprland.conf @@ -116,7 +116,7 @@ bind = CTRL, $mod, a, exec, wofi --show drun bind = $mod, Q, killactive, # Exit hyprland -bind = $mod, ALT, L, exit, +bind = ALT, $mod, L, exit, #bind = $mod, Q, exec, kitty #bind = $mod, C, killactive, From f89af9748c11dc0472ad1a22283a081415f85c87 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:31:04 +0200 Subject: [PATCH 046/183] not working --- nixos-config/config/hypr/hyprland.conf | 3 --- 1 file changed, 3 deletions(-) diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf index 3dd9329d..31a8e93a 100644 --- a/nixos-config/config/hypr/hyprland.conf +++ b/nixos-config/config/hypr/hyprland.conf @@ -115,9 +115,6 @@ bind = CTRL, $mod, Return, exec, kitty bind = CTRL, $mod, a, exec, wofi --show drun bind = $mod, Q, killactive, -# Exit hyprland -bind = ALT, $mod, L, exit, - #bind = $mod, Q, exec, kitty #bind = $mod, C, killactive, bind = $mod, M, exit, From c4e398ca430ff3272b1acb8ba424a85fb0863275 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:32:27 +0200 Subject: [PATCH 047/183] All uppercase --- nixos-config/config/hypr/hyprland.conf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf index 31a8e93a..5ba002a1 100644 --- a/nixos-config/config/hypr/hyprland.conf +++ b/nixos-config/config/hypr/hyprland.conf @@ -112,7 +112,7 @@ $mod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = CTRL, $mod, Return, exec, kitty -bind = CTRL, $mod, a, exec, wofi --show drun +bind = CTRL, $mod, A, exec, wofi --show drun bind = $mod, Q, killactive, #bind = $mod, Q, exec, kitty @@ -131,10 +131,10 @@ bind = $mod, up, movefocus, u bind = $mod, down, movefocus, d # Move focus with $mod + hjkl -bind = $mod, h, movefocus, l -bind = $mod, l, movefocus, r -bind = $mod, k, movefocus, u -bind = $mod, j, movefocus, d +bind = $mod, H, movefocus, l +bind = $mod, L, movefocus, r +bind = $mod, K, movefocus, u +bind = $mod, J, movefocus, d # Switch workspaces with mainMod + [0-9] From 294284ac3686a196db5f803cf3f6def3a8e1dd9a Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:34:14 +0200 Subject: [PATCH 048/183] Maybe? --- nixos-config/config/hypr/hyprland.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf index 5ba002a1..8f630ea1 100644 --- a/nixos-config/config/hypr/hyprland.conf +++ b/nixos-config/config/hypr/hyprland.conf @@ -112,7 +112,7 @@ $mod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = CTRL, $mod, Return, exec, kitty -bind = CTRL, $mod, A, exec, wofi --show drun +#bind = CTRL, $mod, A, exec, wofi --show drun bind = $mod, Q, killactive, #bind = $mod, Q, exec, kitty From 1c111e72a9f64ce79179c485f60ad3472894f2e2 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:35:33 +0200 Subject: [PATCH 049/183] Try this! --- nixos-config/config/hypr/hyprland.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf index 8f630ea1..960df676 100644 --- a/nixos-config/config/hypr/hyprland.conf +++ b/nixos-config/config/hypr/hyprland.conf @@ -111,8 +111,8 @@ gestures { $mod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = CTRL, $mod, Return, exec, kitty -#bind = CTRL, $mod, A, exec, wofi --show drun +bind = CTRL_$mod, Return, exec, kitty +bind = CTRL_$mod, A, exec, wofi --show drun bind = $mod, Q, killactive, #bind = $mod, Q, exec, kitty From 1476f6c0b0df022a2f6b8d65c539f49c43a3730b Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:37:13 +0200 Subject: [PATCH 050/183] Try exit once more --- nixos-config/config/hypr/hyprland.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf index 960df676..577d9986 100644 --- a/nixos-config/config/hypr/hyprland.conf +++ b/nixos-config/config/hypr/hyprland.conf @@ -115,6 +115,9 @@ bind = CTRL_$mod, Return, exec, kitty bind = CTRL_$mod, A, exec, wofi --show drun bind = $mod, Q, killactive, +#try again +bind = $mod, X_L, exit, + #bind = $mod, Q, exec, kitty #bind = $mod, C, killactive, bind = $mod, M, exit, From 0e6e697ffb4d16b863b20a1becc8fb1453a91043 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:39:21 +0200 Subject: [PATCH 051/183] logout keybind --- nixos-config/config/hypr/hyprland.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf index 577d9986..e04d3f56 100644 --- a/nixos-config/config/hypr/hyprland.conf +++ b/nixos-config/config/hypr/hyprland.conf @@ -116,7 +116,7 @@ bind = CTRL_$mod, A, exec, wofi --show drun bind = $mod, Q, killactive, #try again -bind = $mod, X_L, exit, +bind = ALT_$mod, L, exit, #bind = $mod, Q, exec, kitty #bind = $mod, C, killactive, From b86fd008057e4e4a0e1e6df3db018b711ad7ea1f Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:48:32 +0200 Subject: [PATCH 052/183] Modify to ctrl + alt for programs --- nixos-config/config/hypr/hyprland.conf | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf index e04d3f56..88f67fbd 100644 --- a/nixos-config/config/hypr/hyprland.conf +++ b/nixos-config/config/hypr/hyprland.conf @@ -110,17 +110,18 @@ gestures { # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mod = SUPER + # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = CTRL_$mod, Return, exec, kitty -bind = CTRL_$mod, A, exec, wofi --show drun +bind = CTRL_ALT, RETURN, exec, kitty +bind = CTRL_ALT, A, exec, wofi --show drun bind = $mod, Q, killactive, -#try again +# logout bind = ALT_$mod, L, exit, #bind = $mod, Q, exec, kitty #bind = $mod, C, killactive, -bind = $mod, M, exit, +#bind = $mod, M, exit, #bind = $mod, E, exec, dolphin #bind = $mod, V, togglefloating, #bind = $mod, R, exec, wofi --show drun From fed6e67206ca3c12fc1ea4bc57016cb4a479fd86 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:55:02 +0200 Subject: [PATCH 053/183] Add more keybinds and comments --- nixos-config/config/hypr/hyprland.conf | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf index 88f67fbd..09647750 100644 --- a/nixos-config/config/hypr/hyprland.conf +++ b/nixos-config/config/hypr/hyprland.conf @@ -112,9 +112,12 @@ $mod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = CTRL_ALT, RETURN, exec, kitty -bind = CTRL_ALT, A, exec, wofi --show drun -bind = $mod, Q, killactive, +bind = CTRL_ALT, RETURN, exec, kitty # terminal +bind = CTRL_ALT, A, exec, wofi --show drun # app launcher +bind = CTRL_ALT, f, exec, firefox # browser +bind = CTRL_ALT, e, exec, emacs # editor + +bind = $mod, Q, killactive, # close window # logout bind = ALT_$mod, L, exit, From 780bf3abad6a99f1ca9be7c5a41e03e4356576c5 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 17:57:45 +0200 Subject: [PATCH 054/183] Disable gaps --- nixos-config/config/hypr/hyprland.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf index 09647750..a22a656d 100644 --- a/nixos-config/config/hypr/hyprland.conf +++ b/nixos-config/config/hypr/hyprland.conf @@ -39,8 +39,8 @@ input { general { # See https://wiki.hyprland.org/Configuring/Variables/ for more - #gaps_in = 5 - #gaps_out = 20 + gaps_in = 0 + gaps_out = 0 border_size = 2 col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg col.inactive_border = rgba(595959aa) From f8ba6105bcdcc589f9ad10f0a05473123068eafb Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 18:05:33 +0200 Subject: [PATCH 055/183] Enable mako notification daemon --- nixos-config/home-manager.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 38e8a091..db4c1142 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -55,6 +55,7 @@ in fira # fira sans font fira-code # fira code font fish # fish shell + mako # notification daemon ]; imports = [ @@ -73,5 +74,7 @@ in }; }; }; + + services.mako.enable = true; }; } From c9c8aa546629f95d1fde1263d198e153c48549e9 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 18:07:19 +0200 Subject: [PATCH 056/183] Add libnotify --- nixos-config/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index db4c1142..10fdbc56 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -55,6 +55,7 @@ in fira # fira sans font fira-code # fira code font fish # fish shell + libnotify # notifications mako # notification daemon ]; From 3b621d6ffe9d40bd55e64a88bdecfa3d10eb997b Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 18:31:59 +0200 Subject: [PATCH 057/183] Execute mako on startup --- nixos-config/config/hypr/hyprland.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/config/hypr/hyprland.conf index a22a656d..d2e32833 100644 --- a/nixos-config/config/hypr/hyprland.conf +++ b/nixos-config/config/hypr/hyprland.conf @@ -110,6 +110,8 @@ gestures { # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mod = SUPER +# Startup stuff +exec-once = mako # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = CTRL_ALT, RETURN, exec, kitty # terminal From 05cced7f344da7f8c83af4f99c05f719e68710af Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 18:37:33 +0200 Subject: [PATCH 058/183] Increase number of configurations --- nixos-config/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 4e45a4e7..839fb478 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -19,7 +19,7 @@ in boot.loader = { systemd-boot = { enable = true; - configurationLimit = 5; + configurationLimit = 10; }; efi = { canTouchEfiVariables = true; From 1ef724b81f9416971f0066e8b1d2681e6fc5837f Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 18 Apr 2023 18:40:25 +0200 Subject: [PATCH 059/183] Add desktop portals for stuff like screen sharing --- nixos-config/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 10fdbc56..a8fe9938 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -57,6 +57,7 @@ in fish # fish shell libnotify # notifications mako # notification daemon + xdg-desktop-portal-hyprland # desktop portal (hyprland fork) ]; imports = [ From ac634f9c5863641e07b1dcf0bb55f5a78c37a646 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 09:27:58 +0200 Subject: [PATCH 060/183] Disable nix firewall --- nixos-config/configuration.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 839fb478..f31cd055 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -36,6 +36,9 @@ in # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + # disable global firewall for the time being + networking.firewall.enable = false; + # Set your time zone. time.timeZone = "Europe/Zurich"; From 99de23780ec84be7e42083a2472dce41b6e8c8ac Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 09:39:08 +0200 Subject: [PATCH 061/183] Move hyprland config to subfolder --- nixos-config/home-manager.nix | 2 +- nixos-config/{home-hyprland.nix => home-manager/hyprland.nix} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename nixos-config/{home-hyprland.nix => home-manager/hyprland.nix} (85%) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index a8fe9938..8819b712 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -61,7 +61,7 @@ in ]; imports = [ - ./home-hyprland.nix + ./home-manager/hyprland.nix ]; programs = { diff --git a/nixos-config/home-hyprland.nix b/nixos-config/home-manager/hyprland.nix similarity index 85% rename from nixos-config/home-hyprland.nix rename to nixos-config/home-manager/hyprland.nix index cb8f3be5..7c1dc2d1 100644 --- a/nixos-config/home-hyprland.nix +++ b/nixos-config/home-manager/hyprland.nix @@ -12,6 +12,6 @@ in { wayland.windowManager.hyprland = { enable = true; - extraConfig = (builtins.readFile ./config/hypr/hyprland.conf); + extraConfig = (builtins.readFile ../config/hypr/hyprland.conf); }; } From 295be55d5fd7d2613f95598f9889a795ba928935 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 09:47:14 +0200 Subject: [PATCH 062/183] Move config folder to home-manager --- .../{ => home-manager}/config/fish/conf.d/interactive.fish | 0 .../{ => home-manager}/config/fish/functions/fish_prompt.fish | 0 nixos-config/{ => home-manager}/config/hypr/hyprland.conf | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename nixos-config/{ => home-manager}/config/fish/conf.d/interactive.fish (100%) rename nixos-config/{ => home-manager}/config/fish/functions/fish_prompt.fish (100%) rename nixos-config/{ => home-manager}/config/hypr/hyprland.conf (100%) diff --git a/nixos-config/config/fish/conf.d/interactive.fish b/nixos-config/home-manager/config/fish/conf.d/interactive.fish similarity index 100% rename from nixos-config/config/fish/conf.d/interactive.fish rename to nixos-config/home-manager/config/fish/conf.d/interactive.fish diff --git a/nixos-config/config/fish/functions/fish_prompt.fish b/nixos-config/home-manager/config/fish/functions/fish_prompt.fish similarity index 100% rename from nixos-config/config/fish/functions/fish_prompt.fish rename to nixos-config/home-manager/config/fish/functions/fish_prompt.fish diff --git a/nixos-config/config/hypr/hyprland.conf b/nixos-config/home-manager/config/hypr/hyprland.conf similarity index 100% rename from nixos-config/config/hypr/hyprland.conf rename to nixos-config/home-manager/config/hypr/hyprland.conf From 9a463fae56784dd220ab3f897db0c822f536e93e Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 09:47:30 +0200 Subject: [PATCH 063/183] Hyprland read config file location --- nixos-config/home-manager.nix | 2 +- nixos-config/home-manager/hyprland.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 8819b712..3d7c9eaf 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -19,7 +19,7 @@ in ]; imports = [ - ./home-hyprland.nix + ./home-manager/hyprland.nix ]; programs = { diff --git a/nixos-config/home-manager/hyprland.nix b/nixos-config/home-manager/hyprland.nix index 7c1dc2d1..cb8f3be5 100644 --- a/nixos-config/home-manager/hyprland.nix +++ b/nixos-config/home-manager/hyprland.nix @@ -12,6 +12,6 @@ in { wayland.windowManager.hyprland = { enable = true; - extraConfig = (builtins.readFile ../config/hypr/hyprland.conf); + extraConfig = (builtins.readFile ./config/hypr/hyprland.conf); }; } From eee00d113e62c4ecac2e670b1acca5a8db351b51 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 09:48:31 +0200 Subject: [PATCH 064/183] Use additional fish config file --- nixos-config/home-manager.nix | 27 ++------------------------- nixos-config/home-manager/fish.nix | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 25 deletions(-) create mode 100644 nixos-config/home-manager/fish.nix diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 3d7c9eaf..1bf27ff8 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -20,20 +20,9 @@ in imports = [ ./home-manager/hyprland.nix + ./home-manager/fish.nix ]; - programs = { - fish = { - enable = true; - interactiveShellInit = (builtins.readFile ./config/fish/conf.d/interactive.fish); - shellAliases = { - wget = "wget -c"; - }; - functions = { - fish_prompt = (builtins.readFile ./config/fish/functions/fish_prompt.fish); - }; - }; - }; }; # keep everything using home manager within this block @@ -62,21 +51,9 @@ in imports = [ ./home-manager/hyprland.nix + ./home-manager/fish.nix ]; - programs = { - fish = { - enable = true; - interactiveShellInit = (builtins.readFile ./config/fish/conf.d/interactive.fish); - shellAliases = { - wget = "wget -c"; - }; - functions = { - fish_prompt = (builtins.readFile ./config/fish/functions/fish_prompt.fish); - }; - }; - }; - services.mako.enable = true; }; } diff --git a/nixos-config/home-manager/fish.nix b/nixos-config/home-manager/fish.nix new file mode 100644 index 00000000..74f371d1 --- /dev/null +++ b/nixos-config/home-manager/fish.nix @@ -0,0 +1,14 @@ +{ config, ... }: + +{ + programs.fish = { + enable = true; + interactiveShellInit = (builtins.readFile ./config/fish/conf.d/interactive.fish); + shellAliases = { + wget = "wget -c"; + }; + functions = { + fish_prompt = (builtins.readFile ./config/fish/functions/fish_prompt.fish); + }; + }; +} From e86bab8dc357f9068aa5639cfd49da9a465fa4e7 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 11:38:22 +0200 Subject: [PATCH 065/183] Add ssh-agent service --- nixos-config/home-manager.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 1bf27ff8..b5ca0ee7 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -54,6 +54,22 @@ in ./home-manager/fish.nix ]; + systemd.user.services = { + service-name = { + Unit = { + Description = "SSH key agent"; + }; + Service = { + Type = "simple"; + Environment = "SSH_AUTH_SOCK=%t/ssh-agent.socket"; + ExecStart = "/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK"; + }; + Install = { + WantedBy = "default.target"; + }; + }; + }; + services.mako.enable = true; }; } From 7a5c5653f224a7ebecc72d2d0eec624abbf88bc9 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 11:40:38 +0200 Subject: [PATCH 066/183] Change to list --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index b5ca0ee7..fadd7bd0 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -65,7 +65,7 @@ in ExecStart = "/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK"; }; Install = { - WantedBy = "default.target"; + WantedBy = [ "default.target" ]; }; }; }; From ef322deb5bc47f871f7c335ca6f234c7cd99bd47 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 11:43:19 +0200 Subject: [PATCH 067/183] Set ssh-agent service name correctly --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index fadd7bd0..a798daf4 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -55,7 +55,7 @@ in ]; systemd.user.services = { - service-name = { + ssh-agent = { Unit = { Description = "SSH key agent"; }; From b3b21c199a08306ef31611f697e7cea785258b2f Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 11:46:55 +0200 Subject: [PATCH 068/183] Use non-absolute path --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index a798daf4..14618cbb 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -62,7 +62,7 @@ in Service = { Type = "simple"; Environment = "SSH_AUTH_SOCK=%t/ssh-agent.socket"; - ExecStart = "/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK"; + ExecStart = "ssh-agent -D -a $SSH_AUTH_SOCK"; }; Install = { WantedBy = [ "default.target" ]; From af1a67df96293785bb06a6beedacf0ac7de2d01a Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 11:50:53 +0200 Subject: [PATCH 069/183] Use nix-path for ssh-agent --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 14618cbb..58cbe262 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -62,7 +62,7 @@ in Service = { Type = "simple"; Environment = "SSH_AUTH_SOCK=%t/ssh-agent.socket"; - ExecStart = "ssh-agent -D -a $SSH_AUTH_SOCK"; + ExecStart = "/run/current-system/sw/bin/ssh-agent -D -a $SSH_AUTH_SOCK"; }; Install = { WantedBy = [ "default.target" ]; From bd5ceaba30877241378b6c966611e8eb1183b791 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 12:06:16 +0200 Subject: [PATCH 070/183] Restructure systemd services definition. Add environment variables --- nixos-config/home-manager.nix | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 58cbe262..4489d1e9 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -54,20 +54,28 @@ in ./home-manager/fish.nix ]; - systemd.user.services = { - ssh-agent = { - Unit = { - Description = "SSH key agent"; - }; - Service = { - Type = "simple"; - Environment = "SSH_AUTH_SOCK=%t/ssh-agent.socket"; - ExecStart = "/run/current-system/sw/bin/ssh-agent -D -a $SSH_AUTH_SOCK"; - }; - Install = { - WantedBy = [ "default.target" ]; + systemd.user = { + # user services + services = { + # ssh-agent user service + ssh-agent = { + Unit = { + Description = "SSH key agent"; + }; + Service = { + Type = "simple"; + Environment = "SSH_AUTH_SOCK=%t/ssh-agent.socket"; + ExecStart = "/run/current-system/sw/bin/ssh-agent -D -a $SSH_AUTH_SOCK"; + }; + Install = { + WantedBy = [ "default.target" ]; + }; }; }; + # user environment variables + sessionVariables = { + SSH_AUTH_SOCK = "/run/user/1000/ssh-agent.socket"; + }; }; services.mako.enable = true; From 3a84e0fe95fbd75cf072fcbe0e25ef13efd517dd Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 12:08:37 +0200 Subject: [PATCH 071/183] Disable env variables in fish config --- .../home-manager/config/fish/conf.d/interactive.fish | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/nixos-config/home-manager/config/fish/conf.d/interactive.fish b/nixos-config/home-manager/config/fish/conf.d/interactive.fish index 08c7c184..dc88c45a 100644 --- a/nixos-config/home-manager/config/fish/conf.d/interactive.fish +++ b/nixos-config/home-manager/config/fish/conf.d/interactive.fish @@ -30,9 +30,6 @@ set fish_color_host cyan set fish_color_cwd yellow # environment variables -# for ranger -#set RANGER_LOAD_DEFAULT_RC FALSE # SSH Agent #set SSH_AUTH_SOCK "$XDG_RUNTIME_DIR/ssh-agent.socket" -set SSH_AUTH_SOCK /run/user/1000/ssh-agent.socket -export SSH_AUTH_SOCK +#export SSH_AUTH_SOCK From 815b010b1546482678ee0dd56b17fdfd9a6f220c Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 12:11:00 +0200 Subject: [PATCH 072/183] Reenable ssh_auth_sock variable in fish --- nixos-config/home-manager/config/fish/conf.d/interactive.fish | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager/config/fish/conf.d/interactive.fish b/nixos-config/home-manager/config/fish/conf.d/interactive.fish index dc88c45a..f5a0c285 100644 --- a/nixos-config/home-manager/config/fish/conf.d/interactive.fish +++ b/nixos-config/home-manager/config/fish/conf.d/interactive.fish @@ -31,5 +31,5 @@ set fish_color_cwd yellow # environment variables # SSH Agent -#set SSH_AUTH_SOCK "$XDG_RUNTIME_DIR/ssh-agent.socket" -#export SSH_AUTH_SOCK +set SSH_AUTH_SOCK "$XDG_RUNTIME_DIR/ssh-agent.socket" +export SSH_AUTH_SOCK From 59fb48a6f5993c84721dee0e33709a16442174c1 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 12:33:34 +0200 Subject: [PATCH 073/183] Add neovim and yt-dlp --- nixos-config/home-manager.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 4489d1e9..d0887d5f 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -47,6 +47,8 @@ in libnotify # notifications mako # notification daemon xdg-desktop-portal-hyprland # desktop portal (hyprland fork) + neovim # text editor + yt-dlp # video downloader ]; imports = [ @@ -75,6 +77,8 @@ in # user environment variables sessionVariables = { SSH_AUTH_SOCK = "/run/user/1000/ssh-agent.socket"; + EDITOR = "nvim"; + VISUAL = "nvim"; }; }; From 28b712e75f91d892799819d285f8ca76b278cae0 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 12:33:43 +0200 Subject: [PATCH 074/183] Set editor variables --- nixos-config/home-manager/config/fish/conf.d/interactive.fish | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos-config/home-manager/config/fish/conf.d/interactive.fish b/nixos-config/home-manager/config/fish/conf.d/interactive.fish index f5a0c285..e5e421dc 100644 --- a/nixos-config/home-manager/config/fish/conf.d/interactive.fish +++ b/nixos-config/home-manager/config/fish/conf.d/interactive.fish @@ -33,3 +33,6 @@ set fish_color_cwd yellow # SSH Agent set SSH_AUTH_SOCK "$XDG_RUNTIME_DIR/ssh-agent.socket" export SSH_AUTH_SOCK +# text editor +set EDITOR nvim +set VISUAL nvim From 93d66ba04da406a71b6268b1c1d3bef4cbfaab16 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 12:33:50 +0200 Subject: [PATCH 075/183] Add lots of aliases --- nixos-config/home-manager/fish.nix | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/nixos-config/home-manager/fish.nix b/nixos-config/home-manager/fish.nix index 74f371d1..520d51b7 100644 --- a/nixos-config/home-manager/fish.nix +++ b/nixos-config/home-manager/fish.nix @@ -5,7 +5,32 @@ enable = true; interactiveShellInit = (builtins.readFile ./config/fish/conf.d/interactive.fish); shellAliases = { + # open emacs in terminal + emacs = "emacs --no-window-system"; + # colored wget output wget = "wget -c"; + # copy terminfo to remote server with kitty + sshkp = "kitty +kitten ssh use-python"; + sshk = "kitty +kitten ssh"; + # colored ls output + ls = "ls --color=auto"; + # kill all wine processes + killwine = "ls -l /proc/*/exe 2>/dev/null | grep -E 'wine(64)?-preloader|wineserver' | perl -pe 's;^.*/proc/(\d+)/exe.*$;$1;g;' | xargs -n 1 kill"; + # colored grep output + grep = "grep --color=auto"; + # yt-dlp aliases + # best audio + yta-best = "yt-dlp -f bestaudio --extract-audio "; + # best video + ytv-best = "yt-dlp -f bestvideo+bestaudio "; + # download video including metadata from youtube + ytv-metadata = "yt-dlp -f bestvideo+bestaudio --add-metadata --parse-metadata \"%(title)s:%(meta_title)s\" --parse-metadata \"%(uploader)s:%(meta_artist)s\" --write-info-json --write-thumbnail --embed-thumbnail --embed-subs --sub-langs \"en.*\" --merge-output-format mkv "; + # activate venv called "venv" in the local directory + activate = "source venv/bin/activate.fish"; + # lsblk including file system type + lsblkf = "lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,MODEL,UUID"; + # color ip command + ip = "ip -c"; }; functions = { fish_prompt = (builtins.readFile ./config/fish/functions/fish_prompt.fish); From 87597fd9edc88d2daae78a4e70ef804f94949091 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 12:40:18 +0200 Subject: [PATCH 076/183] Set default editor globally --- nixos-config/configuration.nix | 8 +++++++- nixos-config/home-manager.nix | 2 -- .../home-manager/config/fish/conf.d/interactive.fish | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index f31cd055..5dd6bc81 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -29,7 +29,13 @@ in # Enable completions by nix programs.fish.enable = true; - environment.shells = [ pkgs.fish ]; + environment = { + shells = [ pkgs.fish ]; + variables = { + EDITOR = "nvim"; + VISUAL = "nvim"; + }; + }; networking.hostName = "${hostname}"; # Define your hostname. # Pick only one of the below networking options. diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index d0887d5f..aa3532e1 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -77,8 +77,6 @@ in # user environment variables sessionVariables = { SSH_AUTH_SOCK = "/run/user/1000/ssh-agent.socket"; - EDITOR = "nvim"; - VISUAL = "nvim"; }; }; diff --git a/nixos-config/home-manager/config/fish/conf.d/interactive.fish b/nixos-config/home-manager/config/fish/conf.d/interactive.fish index e5e421dc..14ec3473 100644 --- a/nixos-config/home-manager/config/fish/conf.d/interactive.fish +++ b/nixos-config/home-manager/config/fish/conf.d/interactive.fish @@ -34,5 +34,5 @@ set fish_color_cwd yellow set SSH_AUTH_SOCK "$XDG_RUNTIME_DIR/ssh-agent.socket" export SSH_AUTH_SOCK # text editor -set EDITOR nvim -set VISUAL nvim +#set EDITOR nvim +#set VISUAL nvim From b56c7f8f0e188150f5e762d70f0c5234bbe6d1d8 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 12:49:53 +0200 Subject: [PATCH 077/183] remove nano from installation --- nixos-config/configuration.nix | 2 ++ nixos-config/home-manager.nix | 2 +- nixos-config/home-manager/config/fish/conf.d/interactive.fish | 3 --- nixos-config/system-packages.nix | 3 ++- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 5dd6bc81..39943bb6 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -35,6 +35,8 @@ in EDITOR = "nvim"; VISUAL = "nvim"; }; + # remove nano from default packages + defaultPackages = [ pkgs.perl pkgs.rsync pkgs.strace ]; }; networking.hostName = "${hostname}"; # Define your hostname. diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index aa3532e1..92771591 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -47,7 +47,7 @@ in libnotify # notifications mako # notification daemon xdg-desktop-portal-hyprland # desktop portal (hyprland fork) - neovim # text editor + #neovim # text editor yt-dlp # video downloader ]; diff --git a/nixos-config/home-manager/config/fish/conf.d/interactive.fish b/nixos-config/home-manager/config/fish/conf.d/interactive.fish index 14ec3473..f5a0c285 100644 --- a/nixos-config/home-manager/config/fish/conf.d/interactive.fish +++ b/nixos-config/home-manager/config/fish/conf.d/interactive.fish @@ -33,6 +33,3 @@ set fish_color_cwd yellow # SSH Agent set SSH_AUTH_SOCK "$XDG_RUNTIME_DIR/ssh-agent.socket" export SSH_AUTH_SOCK -# text editor -#set EDITOR nvim -#set VISUAL nvim diff --git a/nixos-config/system-packages.nix b/nixos-config/system-packages.nix index 1e9741ff..42ee12ed 100644 --- a/nixos-config/system-packages.nix +++ b/nixos-config/system-packages.nix @@ -4,7 +4,8 @@ # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ - vim # an editor + #vim # an editor + neovim # text editor fwupd # firmware updates fwupd-efi # firmware updates additional EFI stuff wget # get stuff from the net From af91413d0b5f80ea66173e80c3ed5ef1a94df297 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 12:54:11 +0200 Subject: [PATCH 078/183] Set absolute path to nvim --- nixos-config/configuration.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 39943bb6..391f6503 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -32,8 +32,8 @@ in environment = { shells = [ pkgs.fish ]; variables = { - EDITOR = "nvim"; - VISUAL = "nvim"; + EDITOR = "/run/current-system/sw/bin/nvim"; + VISUAL = "/run/current-system/sw/bin/nvim"; }; # remove nano from default packages defaultPackages = [ pkgs.perl pkgs.rsync pkgs.strace ]; From 38f5be2762e7159f93bd3b6583b49e2c73eeb9c7 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 12:57:08 +0200 Subject: [PATCH 079/183] Use specific set as default variable for neovim --- nixos-config/configuration.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 391f6503..f5f8b1fb 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -29,6 +29,9 @@ in # Enable completions by nix programs.fish.enable = true; + # set neovim as default + programs.neovim.defaultEditor = true; + environment = { shells = [ pkgs.fish ]; variables = { From 856f214374e96b0e7fe94ba7749de0d65c0bfd17 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 12:57:31 +0200 Subject: [PATCH 080/183] Remove absolute path to neovim --- nixos-config/configuration.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index f5f8b1fb..00a281b4 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -35,8 +35,8 @@ in environment = { shells = [ pkgs.fish ]; variables = { - EDITOR = "/run/current-system/sw/bin/nvim"; - VISUAL = "/run/current-system/sw/bin/nvim"; + EDITOR = "nvim"; + VISUAL = "nvim"; }; # remove nano from default packages defaultPackages = [ pkgs.perl pkgs.rsync pkgs.strace ]; From 4f3723f93c496ea5900450d26c3faec152aa75ab Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 13:03:08 +0200 Subject: [PATCH 081/183] Set enable for neovim --- nixos-config/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 00a281b4..f87b4c30 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -30,6 +30,7 @@ in programs.fish.enable = true; # set neovim as default + programs.neovim.enable = true; programs.neovim.defaultEditor = true; environment = { From 39121e06366d4130e1bb907bc5f6619a4d43e062 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 13:08:05 +0200 Subject: [PATCH 082/183] Set sudo editor --- nixos-config/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index f87b4c30..289c4a70 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -38,6 +38,7 @@ in variables = { EDITOR = "nvim"; VISUAL = "nvim"; + SUDO_EDITOR = "nvim"; }; # remove nano from default packages defaultPackages = [ pkgs.perl pkgs.rsync pkgs.strace ]; From d5d181983a1dd02387810f3e3d15eb8b1e71d259 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 13:17:21 +0200 Subject: [PATCH 083/183] Set editor to neovim for visudo --- nixos-config/config/sudoers | 19 +++++++++++++++++++ nixos-config/configuration.nix | 3 +++ 2 files changed, 22 insertions(+) create mode 100644 nixos-config/config/sudoers diff --git a/nixos-config/config/sudoers b/nixos-config/config/sudoers new file mode 100644 index 00000000..a1844f36 --- /dev/null +++ b/nixos-config/config/sudoers @@ -0,0 +1,19 @@ +# Don't edit this file. Set the NixOS options ‘security.sudo.configFile’ +# or ‘security.sudo.extraRules’ instead. + +# Set editor to nvim +Defaults editor=/run/current-system/sw/bin/nvim + +# Keep SSH_AUTH_SOCK so that pam_ssh_agent_auth.so can do its magic. +Defaults env_keep+=SSH_AUTH_SOCK + +# "root" is allowed to do anything. +root ALL=(ALL:ALL) SETENV: ALL + +# extraRules +%wheel ALL=(ALL:ALL) SETENV: ALL + + +# Keep terminfo database for root and %wheel. +Defaults:root,%wheel env_keep+=TERMINFO_DIRS +Defaults:root,%wheel env_keep+=TERMINFO diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 289c4a70..1ef94640 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -85,6 +85,9 @@ in enable = true; }; + # sudoers file + security.sudo.configFile = (builtins.readFile ./config/sudoers); + # Configure keymap in X11 services.xserver.layout = "ch"; From ee2a38c22fdb203140b325abd0745edc2e18b3c5 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 13:23:52 +0200 Subject: [PATCH 084/183] reformat variable definitions --- nixos-config/home-manager/hyprland.nix | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager/hyprland.nix b/nixos-config/home-manager/hyprland.nix index cb8f3be5..4fd65a00 100644 --- a/nixos-config/home-manager/hyprland.nix +++ b/nixos-config/home-manager/hyprland.nix @@ -1,10 +1,13 @@ -{pkgs, ...}: let +{pkgs, ...}: + +let flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz"; hyprland = (import flake-compat { src = builtins.fetchTarball "https://github.com/hyprwm/Hyprland/archive/master.tar.gz"; }).defaultNix; -in { +in +{ imports = [ hyprland.homeManagerModules.default ]; From 5a8944d9aa7d74aaa7759fe393c36ec91fd1110b Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 13:32:34 +0200 Subject: [PATCH 085/183] Add git configuration --- nixos-config/home-manager.nix | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 92771591..4861458c 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -80,6 +80,23 @@ in }; }; + # git configuration + programs.git.extraConfig = { + init = { + defaultBranch = "main"; + }; + user = { + name = "RealStickman"; + email = "mrc@frm01.net"; + }; + gitlab = { + user = "RealStickman"; + }; + github = { + user = "RealStickman"; + }; + }; + services.mako.enable = true; }; } From 420236c7795db1c0b5a2e1b60803002024814ee5 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 13:36:03 +0200 Subject: [PATCH 086/183] Enable git for home-manager --- nixos-config/home-manager.nix | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 4861458c..435dd8b1 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -81,19 +81,22 @@ in }; # git configuration - programs.git.extraConfig = { - init = { - defaultBranch = "main"; - }; - user = { - name = "RealStickman"; - email = "mrc@frm01.net"; - }; - gitlab = { - user = "RealStickman"; - }; - github = { - user = "RealStickman"; + programs.git = { + enable = true; + extraConfig = { + init = { + defaultBranch = "main"; + }; + user = { + name = "RealStickman"; + email = "mrc@frm01.net"; + }; + gitlab = { + user = "RealStickman"; + }; + github = { + user = "RealStickman"; + }; }; }; From bb8e7fafb770cd99878fb5d6b19dc854937108fc Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 13:52:14 +0200 Subject: [PATCH 087/183] Move gtk theming to home-manager --- nixos-config/home-manager.nix | 9 +++++++++ nixos-config/system-packages.nix | 1 + 2 files changed, 10 insertions(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 435dd8b1..0d2aebb5 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -100,6 +100,15 @@ in }; }; + # gtk theming + gtk = { + enable = true; + theme = { + name = "Sweet-Dark"; + package = pkgs.sweet; + }; + }; + services.mako.enable = true; }; } diff --git a/nixos-config/system-packages.nix b/nixos-config/system-packages.nix index 42ee12ed..cc479296 100644 --- a/nixos-config/system-packages.nix +++ b/nixos-config/system-packages.nix @@ -12,6 +12,7 @@ #hyprland # window manager wayland # wayland server xdg-utils # xdg directories, open, etc + sweet # gtk theme ]; } From e296da564f42e89b0a0aee9a24e2b5eb5ff7abb6 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 14:29:39 +0200 Subject: [PATCH 088/183] Add icon theme and font for gtk --- nixos-config/home-manager.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 0d2aebb5..23acf9f6 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -107,6 +107,13 @@ in name = "Sweet-Dark"; package = pkgs.sweet; }; + iconTheme = { + name = "Sweet-Rainbow"; + }; + font = { + name = "Fira Sans"; + size = 12; + }; }; services.mako.enable = true; From 19f93fe553350dfec5eb3b2de130100c2830f658 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 14:29:49 +0200 Subject: [PATCH 089/183] Remove sweet from system packages --- nixos-config/system-packages.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos-config/system-packages.nix b/nixos-config/system-packages.nix index cc479296..42ee12ed 100644 --- a/nixos-config/system-packages.nix +++ b/nixos-config/system-packages.nix @@ -12,7 +12,6 @@ #hyprland # window manager wayland # wayland server xdg-utils # xdg directories, open, etc - sweet # gtk theme ]; } From 5b775da953a1cf8461e511db4efe401cac928a3b Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 14:48:35 +0200 Subject: [PATCH 090/183] Move sweet to all user packages --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 23acf9f6..f45e33a6 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -49,6 +49,7 @@ in xdg-desktop-portal-hyprland # desktop portal (hyprland fork) #neovim # text editor yt-dlp # video downloader + sweet # gtk theme ]; imports = [ @@ -105,7 +106,6 @@ in enable = true; theme = { name = "Sweet-Dark"; - package = pkgs.sweet; }; iconTheme = { name = "Sweet-Rainbow"; From a38f983079dad6812be32941b6f42fc773e5ea9f Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 14:59:04 +0200 Subject: [PATCH 091/183] Remove gtk theming from home-manager --- nixos-config/home-manager.nix | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index f45e33a6..87414d52 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -49,7 +49,7 @@ in xdg-desktop-portal-hyprland # desktop portal (hyprland fork) #neovim # text editor yt-dlp # video downloader - sweet # gtk theme + #sweet # gtk theme ]; imports = [ @@ -102,19 +102,19 @@ in }; # gtk theming - gtk = { - enable = true; - theme = { - name = "Sweet-Dark"; - }; - iconTheme = { - name = "Sweet-Rainbow"; - }; - font = { - name = "Fira Sans"; - size = 12; - }; - }; + #gtk = { + # enable = true; + # theme = { + # name = "Sweet-Dark"; + # }; + # iconTheme = { + # name = "Sweet-Rainbow"; + # }; + # font = { + # name = "Fira Sans"; + # size = 12; + # }; + #}; services.mako.enable = true; }; From 1b589500ef37296cb4b16ab94fa98693b9f5e4fc Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 14:59:14 +0200 Subject: [PATCH 092/183] Global gtk theming + cursor --- nixos-config/config/xdg/gtk-2.0/.gtkrc-2.0 | 15 +++++++++++++++ nixos-config/config/xdg/gtk-3.0/settings.ini | 16 ++++++++++++++++ nixos-config/configuration.nix | 4 ++++ nixos-config/system-packages.nix | 2 ++ 4 files changed, 37 insertions(+) create mode 100644 nixos-config/config/xdg/gtk-2.0/.gtkrc-2.0 create mode 100644 nixos-config/config/xdg/gtk-3.0/settings.ini diff --git a/nixos-config/config/xdg/gtk-2.0/.gtkrc-2.0 b/nixos-config/config/xdg/gtk-2.0/.gtkrc-2.0 new file mode 100644 index 00000000..4adf7e61 --- /dev/null +++ b/nixos-config/config/xdg/gtk-2.0/.gtkrc-2.0 @@ -0,0 +1,15 @@ +gtk-theme-name="Sweet-Dark" +gtk-icon-theme-name="Sweet-Rainbow" +gtk-font-name="Fira Sans 12" +gtk-cursor-theme-name="capitaine-cursors-light" +gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_ICONS +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=0 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle="hintslight" +gtk-xft-rgba="rgb" diff --git a/nixos-config/config/xdg/gtk-3.0/settings.ini b/nixos-config/config/xdg/gtk-3.0/settings.ini new file mode 100644 index 00000000..516f6016 --- /dev/null +++ b/nixos-config/config/xdg/gtk-3.0/settings.ini @@ -0,0 +1,16 @@ +[Settings] +gtk-theme-name=Sweet-Dark +gtk-icon-theme-name=Sweet-Rainbow +gtk-font-name=Fira Sans 12 +gtk-cursor-theme-name=capitaine-cursors-light +gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_ICONS +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=0 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintslight +gtk-xft-rgba=rgb diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 1ef94640..bef326a1 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -42,6 +42,10 @@ in }; # remove nano from default packages defaultPackages = [ pkgs.perl pkgs.rsync pkgs.strace ]; + etc = { + "xdg/gtk-2.0".source = ./config/xdg/gtk-2.0/.gtkrc-2.0; + "xdg/gtk-3.0".source = ./config/xdg/gtk-3.0/settings.ini; + }; }; networking.hostName = "${hostname}"; # Define your hostname. diff --git a/nixos-config/system-packages.nix b/nixos-config/system-packages.nix index 42ee12ed..09fbd907 100644 --- a/nixos-config/system-packages.nix +++ b/nixos-config/system-packages.nix @@ -12,6 +12,8 @@ #hyprland # window manager wayland # wayland server xdg-utils # xdg directories, open, etc + sweet # gtk theme + capitaine-cursors # cursor theme ]; } From 89792d9a41043fed0e03c7edec964b96bb057e44 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 15:12:23 +0200 Subject: [PATCH 093/183] Move gtk paths --- nixos-config/configuration.nix | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index bef326a1..f26b0f7f 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -43,8 +43,10 @@ in # remove nano from default packages defaultPackages = [ pkgs.perl pkgs.rsync pkgs.strace ]; etc = { - "xdg/gtk-2.0".source = ./config/xdg/gtk-2.0/.gtkrc-2.0; - "xdg/gtk-3.0".source = ./config/xdg/gtk-3.0/settings.ini; + # gtk theme configuration + # src: https://unix.stackexchange.com/questions/632879/how-to-set-a-system-wide-gtk-theme-in-nixos + "gtk-2.0".source = ./config/xdg/gtk-2.0/.gtkrc-2.0; + "gtk-3.0".source = ./config/xdg/gtk-3.0/settings.ini; }; }; From 21aa595bc6a683b43ef5bcf59c02bf04629f212e Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 15:17:33 +0200 Subject: [PATCH 094/183] Move gtk theme settings --- nixos-config/config/{xdg => }/gtk-2.0/.gtkrc-2.0 | 0 nixos-config/config/{xdg => }/gtk-3.0/settings.ini | 0 nixos-config/configuration.nix | 4 ++-- 3 files changed, 2 insertions(+), 2 deletions(-) rename nixos-config/config/{xdg => }/gtk-2.0/.gtkrc-2.0 (100%) rename nixos-config/config/{xdg => }/gtk-3.0/settings.ini (100%) diff --git a/nixos-config/config/xdg/gtk-2.0/.gtkrc-2.0 b/nixos-config/config/gtk-2.0/.gtkrc-2.0 similarity index 100% rename from nixos-config/config/xdg/gtk-2.0/.gtkrc-2.0 rename to nixos-config/config/gtk-2.0/.gtkrc-2.0 diff --git a/nixos-config/config/xdg/gtk-3.0/settings.ini b/nixos-config/config/gtk-3.0/settings.ini similarity index 100% rename from nixos-config/config/xdg/gtk-3.0/settings.ini rename to nixos-config/config/gtk-3.0/settings.ini diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index f26b0f7f..7b0f230a 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -45,8 +45,8 @@ in etc = { # gtk theme configuration # src: https://unix.stackexchange.com/questions/632879/how-to-set-a-system-wide-gtk-theme-in-nixos - "gtk-2.0".source = ./config/xdg/gtk-2.0/.gtkrc-2.0; - "gtk-3.0".source = ./config/xdg/gtk-3.0/settings.ini; + "gtk-2.0".source = ./config/gtk-2.0/.gtkrc-2.0; + "gtk-3.0".source = ./config/gtk-3.0/settings.ini; }; }; From 2f582056308a45c6f9de4aacf58ed2425ffc5bb8 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 15:28:19 +0200 Subject: [PATCH 095/183] Disable setting icon theme --- nixos-config/config/gtk-2.0/.gtkrc-2.0 | 2 +- nixos-config/config/gtk-3.0/settings.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/config/gtk-2.0/.gtkrc-2.0 b/nixos-config/config/gtk-2.0/.gtkrc-2.0 index 4adf7e61..5e485ae3 100644 --- a/nixos-config/config/gtk-2.0/.gtkrc-2.0 +++ b/nixos-config/config/gtk-2.0/.gtkrc-2.0 @@ -1,5 +1,5 @@ gtk-theme-name="Sweet-Dark" -gtk-icon-theme-name="Sweet-Rainbow" +#gtk-icon-theme-name="Sweet-Rainbow" gtk-font-name="Fira Sans 12" gtk-cursor-theme-name="capitaine-cursors-light" gtk-cursor-theme-size=0 diff --git a/nixos-config/config/gtk-3.0/settings.ini b/nixos-config/config/gtk-3.0/settings.ini index 516f6016..6e343fa3 100644 --- a/nixos-config/config/gtk-3.0/settings.ini +++ b/nixos-config/config/gtk-3.0/settings.ini @@ -1,6 +1,6 @@ [Settings] gtk-theme-name=Sweet-Dark -gtk-icon-theme-name=Sweet-Rainbow +#gtk-icon-theme-name=Sweet-Rainbow gtk-font-name=Fira Sans 12 gtk-cursor-theme-name=capitaine-cursors-light gtk-cursor-theme-size=0 From 5cda168df5883fba91dee034d425eb75ff5a357d Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 15:29:44 +0200 Subject: [PATCH 096/183] Correct gtk 2.0 config path --- nixos-config/config/gtk-2.0/{.gtkrc-2.0 => gtkrc} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename nixos-config/config/gtk-2.0/{.gtkrc-2.0 => gtkrc} (100%) diff --git a/nixos-config/config/gtk-2.0/.gtkrc-2.0 b/nixos-config/config/gtk-2.0/gtkrc similarity index 100% rename from nixos-config/config/gtk-2.0/.gtkrc-2.0 rename to nixos-config/config/gtk-2.0/gtkrc From 4d769f6c0f0453a1fad5b96b5bb7d172090224a2 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 15:30:12 +0200 Subject: [PATCH 097/183] Fix gtk 2.0 path --- nixos-config/configuration.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 7b0f230a..cce4d152 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -45,7 +45,7 @@ in etc = { # gtk theme configuration # src: https://unix.stackexchange.com/questions/632879/how-to-set-a-system-wide-gtk-theme-in-nixos - "gtk-2.0".source = ./config/gtk-2.0/.gtkrc-2.0; + "gtk-2.0".source = ./config/gtk-2.0/gtkrc; "gtk-3.0".source = ./config/gtk-3.0/settings.ini; }; }; From 2d3615f14f3934ee6ffc62ada9f5bdbf6cba1732 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 15:37:03 +0200 Subject: [PATCH 098/183] Add tumbler and thumbnail service --- nixos-config/configuration.nix | 3 +++ nixos-config/system-packages.nix | 2 ++ 2 files changed, 5 insertions(+) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index cce4d152..e1aa28ba 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -143,6 +143,9 @@ in # Enable the OpenSSH daemon. services.openssh.enable = true; + # Enable thumbnailer service + services.tumbler.enable = true; + # Open ports in the firewall. # networking.firewall.allowedTCPPorts = [ ... ]; # networking.firewall.allowedUDPPorts = [ ... ]; diff --git a/nixos-config/system-packages.nix b/nixos-config/system-packages.nix index 09fbd907..91d6b3f6 100644 --- a/nixos-config/system-packages.nix +++ b/nixos-config/system-packages.nix @@ -14,6 +14,8 @@ xdg-utils # xdg directories, open, etc sweet # gtk theme capitaine-cursors # cursor theme + tumbler # image files thumbnail generator (+ base requirement) + ffmpegthumbnailer # video files thumbnail generator ]; } From 67664ffaf9e0c6c0c59df55f901b05022f62e4d0 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 15:38:23 +0200 Subject: [PATCH 099/183] Correct package name --- nixos-config/system-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/system-packages.nix b/nixos-config/system-packages.nix index 91d6b3f6..9dca4945 100644 --- a/nixos-config/system-packages.nix +++ b/nixos-config/system-packages.nix @@ -14,7 +14,7 @@ xdg-utils # xdg directories, open, etc sweet # gtk theme capitaine-cursors # cursor theme - tumbler # image files thumbnail generator (+ base requirement) + xfce.tumbler # image files thumbnail generator (+ base requirement) ffmpegthumbnailer # video files thumbnail generator ]; From 2642c46b59ca860fe14cde36ade0e00b225a01a0 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 15:45:38 +0200 Subject: [PATCH 100/183] Fix gtk 2 and 3 paths --- nixos-config/configuration.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index e1aa28ba..559f7fe0 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -45,8 +45,8 @@ in etc = { # gtk theme configuration # src: https://unix.stackexchange.com/questions/632879/how-to-set-a-system-wide-gtk-theme-in-nixos - "gtk-2.0".source = ./config/gtk-2.0/gtkrc; - "gtk-3.0".source = ./config/gtk-3.0/settings.ini; + "gtk-2.0/gtkrc".source = ./config/gtk-2.0/gtkrc; + "gtk-3.0/settings.ini".source = ./config/gtk-3.0/settings.ini; }; }; From c79c8d2eab9c4fd9ea1ce12561beb909eb4ad2c2 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 15:54:45 +0200 Subject: [PATCH 101/183] Add gtk4 configuration --- nixos-config/config/gtk-4.0/settings.ini | 16 ++++++++++++++++ nixos-config/configuration.nix | 1 + 2 files changed, 17 insertions(+) create mode 100644 nixos-config/config/gtk-4.0/settings.ini diff --git a/nixos-config/config/gtk-4.0/settings.ini b/nixos-config/config/gtk-4.0/settings.ini new file mode 100644 index 00000000..6e343fa3 --- /dev/null +++ b/nixos-config/config/gtk-4.0/settings.ini @@ -0,0 +1,16 @@ +[Settings] +gtk-theme-name=Sweet-Dark +#gtk-icon-theme-name=Sweet-Rainbow +gtk-font-name=Fira Sans 12 +gtk-cursor-theme-name=capitaine-cursors-light +gtk-cursor-theme-size=0 +gtk-toolbar-style=GTK_TOOLBAR_ICONS +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=1 +gtk-menu-images=1 +gtk-enable-event-sounds=0 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintslight +gtk-xft-rgba=rgb diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 559f7fe0..cad2e1f0 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -47,6 +47,7 @@ in # src: https://unix.stackexchange.com/questions/632879/how-to-set-a-system-wide-gtk-theme-in-nixos "gtk-2.0/gtkrc".source = ./config/gtk-2.0/gtkrc; "gtk-3.0/settings.ini".source = ./config/gtk-3.0/settings.ini; + "gtk-4.0/settings.ini".source = ./config/gtk-4.0/settings.ini; }; }; From c2109879589a6a1694c1648811c73ab04e95db5c Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:03:36 +0200 Subject: [PATCH 102/183] Enable gnome-keyring --- nixos-config/configuration.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index cad2e1f0..755a254a 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -98,6 +98,11 @@ in # Configure keymap in X11 services.xserver.layout = "ch"; + # keyring + services.gnome.gnome-keyring.enable = true; + security.pam.services.${user}.enableGnomeKeyring = true; + programs.seahorse.enable = true; + # Enable CUPS to print documents. services.printing.enable = true; From 87dcf302c928875c8ca72f7e737a5ab8180c5c83 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:12:04 +0200 Subject: [PATCH 103/183] Add qt wayland and graphical polkit --- nixos-config/system-packages.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos-config/system-packages.nix b/nixos-config/system-packages.nix index 9dca4945..37a1cbfe 100644 --- a/nixos-config/system-packages.nix +++ b/nixos-config/system-packages.nix @@ -16,6 +16,9 @@ capitaine-cursors # cursor theme xfce.tumbler # image files thumbnail generator (+ base requirement) ffmpegthumbnailer # video files thumbnail generator + qt6.qtwayland # wayland for qt6 + libsForQt5.qt5.qtwayland # wayland for at5 + polkit_gnome # graphical authentication agent for polkit ]; } From e45efecfd339cb9e918a26d9e7b48fe79c26f5c5 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:23:51 +0200 Subject: [PATCH 104/183] Add waybar to home-manager --- nixos-config/home-manager.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 87414d52..4221b040 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -50,6 +50,7 @@ in #neovim # text editor yt-dlp # video downloader #sweet # gtk theme + waybar # status bar ]; imports = [ @@ -101,6 +102,10 @@ in }; }; + programs.waybar = { + enable = true; + }; + # gtk theming #gtk = { # enable = true; From 11e5adb6871ed95a910dbec8bc64581392ef91af Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:27:48 +0200 Subject: [PATCH 105/183] Enable waybar in hyprland --- nixos-config/home-manager/config/hypr/hyprland.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/home-manager/config/hypr/hyprland.conf b/nixos-config/home-manager/config/hypr/hyprland.conf index d2e32833..5a1f979e 100644 --- a/nixos-config/home-manager/config/hypr/hyprland.conf +++ b/nixos-config/home-manager/config/hypr/hyprland.conf @@ -112,6 +112,7 @@ $mod = SUPER # Startup stuff exec-once = mako +exec-once = waybar # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = CTRL_ALT, RETURN, exec, kitty # terminal From 514913405ebe81375e49af1fd9dbe09045a320ae Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:33:23 +0200 Subject: [PATCH 106/183] Add waybar default config --- nixos-config/home-manager.nix | 1 + .../home-manager/config/waybar/config.json | 185 ++++++++++++++++++ 2 files changed, 186 insertions(+) create mode 100644 nixos-config/home-manager/config/waybar/config.json diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 4221b040..15cc9036 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -104,6 +104,7 @@ in programs.waybar = { enable = true; + settings = (builtins.readFile ./config/waybar/config.json); }; # gtk theming diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json new file mode 100644 index 00000000..c1dee69a --- /dev/null +++ b/nixos-config/home-manager/config/waybar/config.json @@ -0,0 +1,185 @@ +{ + // "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 30, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 4, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": [ + "sway/workspaces", + "sway/mode", + "sway/scratchpad", + "custom/media" + ], + "modules-center": ["sway/window"], + "modules-right": [ + "mpd", + "idle_inhibitor", + "pulseaudio", + "network", + "cpu", + "memory", + "temperature", + "backlight", + "keyboard-state", + "sway/language", + "battery", + "battery#bat2", + "clock", + "tray" + ], + // Modules configuration + // "sway/workspaces": { + // "disable-scroll": true, + // "all-outputs": true, + // "format": "{name}: {icon}", + // "format-icons": { + // "1": "", + // "2": "", + // "3": "", + // "4": "", + // "5": "", + // "urgent": "", + // "focused": "", + // "default": "" + // } + // }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} From 6c6507c5bdc3a1e3e0c59b01b5b6c75a2c1abcf8 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:34:16 +0200 Subject: [PATCH 107/183] Fix config path --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 15cc9036..3f6d3e3a 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -104,7 +104,7 @@ in programs.waybar = { enable = true; - settings = (builtins.readFile ./config/waybar/config.json); + settings = (builtins.readFile ./home-manager/config/waybar/config.json); }; # gtk theming From 1c972e9bfdcaa1b23d295ffbd9d19d00bf8ad441 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:36:26 +0200 Subject: [PATCH 108/183] Change syntax --- nixos-config/home-manager.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 3f6d3e3a..5bffa81f 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -104,7 +104,9 @@ in programs.waybar = { enable = true; - settings = (builtins.readFile ./home-manager/config/waybar/config.json); + settings = { + mainBar = (builtins.readFile ./home-manager/config/waybar/config.json); + }; }; # gtk theming From 1ece5009b332a2399206f53a09012e6d26bfff3d Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:39:44 +0200 Subject: [PATCH 109/183] Valid json formatting --- .../home-manager/config/waybar/config.json | 68 +++++++++---------- 1 file changed, 33 insertions(+), 35 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index c1dee69a..40ef0214 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -1,10 +1,9 @@ { - // "layer": "top", // Waybar at top layer - // "position": "bottom", // Waybar position (top|bottom|left|right) - "height": 30, // Waybar height (to be removed for auto height) - // "width": 1280, // Waybar width - "spacing": 4, // Gaps between modules (4px) - // Choose the order of the modules + "layer": "top", + "position": "bottom", + "height": 30, + "width": 1280, + "spacing": 4, "modules-left": [ "sway/workspaces", "sway/mode", @@ -28,22 +27,21 @@ "clock", "tray" ], - // Modules configuration - // "sway/workspaces": { - // "disable-scroll": true, - // "all-outputs": true, - // "format": "{name}: {icon}", - // "format-icons": { - // "1": "", - // "2": "", - // "3": "", - // "4": "", - // "5": "", - // "urgent": "", - // "focused": "", - // "default": "" - // } - // }, + "sway/workspaces": { + "disable-scroll": true, + "all-outputs": true, + "format": "{name}: {icon}", + "format-icons": { + "1": "", + "2": "", + "3": "", + "4": "", + "5": "", + "urgent": "", + "focused": "", + "default": "" + } + }, "keyboard-state": { "numlock": true, "capslock": true, @@ -97,11 +95,11 @@ } }, "tray": { - // "icon-size": 21, + "icon-size": 21, "spacing": 10 }, "clock": { - // "timezone": "America/New_York", + "timezone": "America/New_York", "tooltip-format": "{:%Y %B}\n{calendar}", "format-alt": "{:%Y-%m-%d}" }, @@ -113,21 +111,21 @@ "format": "{}% " }, "temperature": { - // "thermal-zone": 2, - // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "thermal-zone": 2, + "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", "critical-threshold": 80, - // "format-critical": "{temperatureC}°C {icon}", + "format-critical": "{temperatureC}°C {icon}", "format": "{temperatureC}°C {icon}", "format-icons": ["", "", ""] }, "backlight": { - // "device": "acpi_video1", + "device": "acpi_video1", "format": "{percent}% {icon}", "format-icons": ["", "", "", "", "", "", "", "", ""] }, "battery": { "states": { - // "good": 95, + "good": 95, "warning": 30, "critical": 15 }, @@ -135,15 +133,15 @@ "format-charging": "{capacity}% ", "format-plugged": "{capacity}% ", "format-alt": "{time} {icon}", - // "format-good": "", // An empty format will hide the module - // "format-full": "", + "format-good": "", + "format-full": "", "format-icons": ["", "", "", "", ""] }, "battery#bat2": { "bat": "BAT2" }, "network": { - // "interface": "wlp2*", // (Optional) To force the use of this interface + "interface": "wlp2*", "format-wifi": "{essid} ({signalStrength}%) ", "format-ethernet": "{ipaddr}/{cidr} ", "tooltip-format": "{ifname} via {gwaddr} ", @@ -152,7 +150,7 @@ "format-alt": "{ifname}: {ipaddr}/{cidr}" }, "pulseaudio": { - // "scroll-step": 1, // %, can be a float + "scroll-step": 1, "format": "{volume}% {icon} {format_source}", "format-bluetooth": "{volume}% {icon} {format_source}", "format-bluetooth-muted": " {icon} {format_source}", @@ -179,7 +177,7 @@ "default": "🎜" }, "escape": true, - "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder - // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null", + "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" } } From 035626866085803b9aa3c932fe3664b7df5e98c9 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:40:30 +0200 Subject: [PATCH 110/183] Try this again --- nixos-config/home-manager.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 5bffa81f..3f6d3e3a 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -104,9 +104,7 @@ in programs.waybar = { enable = true; - settings = { - mainBar = (builtins.readFile ./home-manager/config/waybar/config.json); - }; + settings = (builtins.readFile ./home-manager/config/waybar/config.json); }; # gtk theming From e71b10cb3a9e5010dab3fa454c00435d955a668d Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:41:03 +0200 Subject: [PATCH 111/183] Make list --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 3f6d3e3a..4446bec6 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -104,7 +104,7 @@ in programs.waybar = { enable = true; - settings = (builtins.readFile ./home-manager/config/waybar/config.json); + settings = [ (builtins.readFile ./home-manager/config/waybar/config.json) ]; }; # gtk theming From 7c728e5fdc615a761e680a5fa6e3aa1fe6e47bbc Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:42:12 +0200 Subject: [PATCH 112/183] maybe like this --- nixos-config/home-manager.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 4446bec6..62946f65 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -104,7 +104,9 @@ in programs.waybar = { enable = true; - settings = [ (builtins.readFile ./home-manager/config/waybar/config.json) ]; + settings = { + mainBar = [ (builtins.readFile ./home-manager/config/waybar/config.json) ]; + }; }; # gtk theming From 4289857811cabf75016b316de65dea6b510255db Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:43:22 +0200 Subject: [PATCH 113/183] try getting that json --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 62946f65..e65b38b9 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -105,7 +105,7 @@ in programs.waybar = { enable = true; settings = { - mainBar = [ (builtins.readFile ./home-manager/config/waybar/config.json) ]; + mainBar = builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json); }; }; From 647446214b293b75880fda4a5863b5c003745996 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:45:16 +0200 Subject: [PATCH 114/183] try this one? --- nixos-config/home-manager.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index e65b38b9..771bbcbc 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -1,4 +1,4 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: let user = "exu"; @@ -105,7 +105,8 @@ in programs.waybar = { enable = true; settings = { - mainBar = builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json); + #mainBar = builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json); + mainBar = (lib.importJSON ./home-manager/config/waybar/config.json); }; }; From 5d1d216eb2cf49c62a04c22a487efee8226f967e Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:46:18 +0200 Subject: [PATCH 115/183] This maybe better --- nixos-config/home-manager.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 771bbcbc..fb434780 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -105,8 +105,8 @@ in programs.waybar = { enable = true; settings = { - #mainBar = builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json); - mainBar = (lib.importJSON ./home-manager/config/waybar/config.json); + mainBar = builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json); + #mainBar = (lib.importJSON ./home-manager/config/waybar/config.json); }; }; From 7a4eb904eddf4af2d2f87b2c63e19237bc1c599c Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:48:53 +0200 Subject: [PATCH 116/183] Maybe this --- nixos-config/home-manager.nix | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index fb434780..413633fd 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -1,4 +1,4 @@ -{ config, pkgs, lib, ... }: +{ config, pkgs, ... }: let user = "exu"; @@ -105,8 +105,7 @@ in programs.waybar = { enable = true; settings = { - mainBar = builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json); - #mainBar = (lib.importJSON ./home-manager/config/waybar/config.json); + mainBar = [ builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json) ]; }; }; From 0a693c6a2b786890dbbc95efbe08e3c6c6895e48 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:49:57 +0200 Subject: [PATCH 117/183] try this --- nixos-config/home-manager.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 413633fd..50c3ce59 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -104,9 +104,7 @@ in programs.waybar = { enable = true; - settings = { - mainBar = [ builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json) ]; - }; + settings = builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json); }; # gtk theming From ea2efe06e9fbe0146e37ebb1336bba7e93776b73 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:52:08 +0200 Subject: [PATCH 118/183] do this --- nixos-config/home-manager.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 50c3ce59..e65b38b9 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -104,7 +104,9 @@ in programs.waybar = { enable = true; - settings = builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json); + settings = { + mainBar = builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json); + }; }; # gtk theming From d971019497b821a99d454d39117a1e39e22c3d47 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:54:14 +0200 Subject: [PATCH 119/183] test this again --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index e65b38b9..5bffa81f 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -105,7 +105,7 @@ in programs.waybar = { enable = true; settings = { - mainBar = builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json); + mainBar = (builtins.readFile ./home-manager/config/waybar/config.json); }; }; From e917ca175cf4754ec84f0f877f85b04d8d61f893 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:55:26 +0200 Subject: [PATCH 120/183] reconvert to json --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 5bffa81f..60fac962 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -105,7 +105,7 @@ in programs.waybar = { enable = true; settings = { - mainBar = (builtins.readFile ./home-manager/config/waybar/config.json); + mainBar = (builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json)); }; }; From 49a86a8f08ae4f6c8fee8f0d95965466335599b8 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 16:59:16 +0200 Subject: [PATCH 121/183] try this --- .../home-manager/config/waybar/config.json | 364 +++++++++--------- 1 file changed, 183 insertions(+), 181 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 40ef0214..4ff2f8a5 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -1,183 +1,185 @@ -{ - "layer": "top", - "position": "bottom", - "height": 30, - "width": 1280, - "spacing": 4, - "modules-left": [ - "sway/workspaces", - "sway/mode", - "sway/scratchpad", - "custom/media" - ], - "modules-center": ["sway/window"], - "modules-right": [ - "mpd", - "idle_inhibitor", - "pulseaudio", - "network", - "cpu", - "memory", - "temperature", - "backlight", - "keyboard-state", - "sway/language", - "battery", - "battery#bat2", - "clock", - "tray" - ], - "sway/workspaces": { - "disable-scroll": true, - "all-outputs": true, - "format": "{name}: {icon}", - "format-icons": { - "1": "", - "2": "", - "3": "", - "4": "", - "5": "", - "urgent": "", - "focused": "", - "default": "" +[ + { + "layer": "top", + "position": "bottom", + "height": 30, + "width": 1280, + "spacing": 4, + "modules-left": [ + "sway/workspaces", + "sway/mode", + "sway/scratchpad", + "custom/media" + ], + "modules-center": ["sway/window"], + "modules-right": [ + "mpd", + "idle_inhibitor", + "pulseaudio", + "network", + "cpu", + "memory", + "temperature", + "backlight", + "keyboard-state", + "sway/language", + "battery", + "battery#bat2", + "clock", + "tray" + ], + "sway/workspaces": { + "disable-scroll": true, + "all-outputs": true, + "format": "{name}: {icon}", + "format-icons": { + "1": "", + "2": "", + "3": "", + "4": "", + "5": "", + "urgent": "", + "focused": "", + "default": "" + } + }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + "icon-size": 21, + "spacing": 10 + }, + "clock": { + "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + "thermal-zone": 2, + "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + "format-good": "", + "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + "interface": "wlp2*", + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + "scroll-step": 1, + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null", + "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" } - }, - "keyboard-state": { - "numlock": true, - "capslock": true, - "format": "{name} {icon}", - "format-icons": { - "locked": "", - "unlocked": "" - } - }, - "sway/mode": { - "format": "{}" - }, - "sway/scratchpad": { - "format": "{icon} {count}", - "show-empty": false, - "format-icons": ["", ""], - "tooltip": true, - "tooltip-format": "{app}: {title}" - }, - "mpd": { - "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", - "format-disconnected": "Disconnected ", - "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", - "unknown-tag": "N/A", - "interval": 2, - "consume-icons": { - "on": " " - }, - "random-icons": { - "off": " ", - "on": " " - }, - "repeat-icons": { - "on": " " - }, - "single-icons": { - "on": "1 " - }, - "state-icons": { - "paused": "", - "playing": "" - }, - "tooltip-format": "MPD (connected)", - "tooltip-format-disconnected": "MPD (disconnected)" - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "" - } - }, - "tray": { - "icon-size": 21, - "spacing": 10 - }, - "clock": { - "timezone": "America/New_York", - "tooltip-format": "{:%Y %B}\n{calendar}", - "format-alt": "{:%Y-%m-%d}" - }, - "cpu": { - "format": "{usage}% ", - "tooltip": false - }, - "memory": { - "format": "{}% " - }, - "temperature": { - "thermal-zone": 2, - "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", - "critical-threshold": 80, - "format-critical": "{temperatureC}°C {icon}", - "format": "{temperatureC}°C {icon}", - "format-icons": ["", "", ""] - }, - "backlight": { - "device": "acpi_video1", - "format": "{percent}% {icon}", - "format-icons": ["", "", "", "", "", "", "", "", ""] - }, - "battery": { - "states": { - "good": 95, - "warning": 30, - "critical": 15 - }, - "format": "{capacity}% {icon}", - "format-charging": "{capacity}% ", - "format-plugged": "{capacity}% ", - "format-alt": "{time} {icon}", - "format-good": "", - "format-full": "", - "format-icons": ["", "", "", "", ""] - }, - "battery#bat2": { - "bat": "BAT2" - }, - "network": { - "interface": "wlp2*", - "format-wifi": "{essid} ({signalStrength}%) ", - "format-ethernet": "{ipaddr}/{cidr} ", - "tooltip-format": "{ifname} via {gwaddr} ", - "format-linked": "{ifname} (No IP) ", - "format-disconnected": "Disconnected ⚠", - "format-alt": "{ifname}: {ipaddr}/{cidr}" - }, - "pulseaudio": { - "scroll-step": 1, - "format": "{volume}% {icon} {format_source}", - "format-bluetooth": "{volume}% {icon} {format_source}", - "format-bluetooth-muted": " {icon} {format_source}", - "format-muted": " {format_source}", - "format-source": "{volume}% ", - "format-source-muted": "", - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""] - }, - "on-click": "pavucontrol" - }, - "custom/media": { - "format": "{icon} {}", - "return-type": "json", - "max-length": 40, - "format-icons": { - "spotify": "", - "default": "🎜" - }, - "escape": true, - "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null", - "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" } -} +] From 0ea2379416c449865debc9456d7ded214eef0a27 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 17:02:28 +0200 Subject: [PATCH 122/183] change this stuff --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 60fac962..66ab2069 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -105,7 +105,7 @@ in programs.waybar = { enable = true; settings = { - mainBar = (builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json)); + mainBar = [ (builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json)) ]; }; }; From bdcac11fac162a45b14496550ad094b5164e081f Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 17:02:33 +0200 Subject: [PATCH 123/183] modify config --- .../home-manager/config/waybar/config.json | 364 +++++++++--------- 1 file changed, 181 insertions(+), 183 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 4ff2f8a5..40ef0214 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -1,185 +1,183 @@ -[ - { - "layer": "top", - "position": "bottom", - "height": 30, - "width": 1280, - "spacing": 4, - "modules-left": [ - "sway/workspaces", - "sway/mode", - "sway/scratchpad", - "custom/media" - ], - "modules-center": ["sway/window"], - "modules-right": [ - "mpd", - "idle_inhibitor", - "pulseaudio", - "network", - "cpu", - "memory", - "temperature", - "backlight", - "keyboard-state", - "sway/language", - "battery", - "battery#bat2", - "clock", - "tray" - ], - "sway/workspaces": { - "disable-scroll": true, - "all-outputs": true, - "format": "{name}: {icon}", - "format-icons": { - "1": "", - "2": "", - "3": "", - "4": "", - "5": "", - "urgent": "", - "focused": "", - "default": "" - } - }, - "keyboard-state": { - "numlock": true, - "capslock": true, - "format": "{name} {icon}", - "format-icons": { - "locked": "", - "unlocked": "" - } - }, - "sway/mode": { - "format": "{}" - }, - "sway/scratchpad": { - "format": "{icon} {count}", - "show-empty": false, - "format-icons": ["", ""], - "tooltip": true, - "tooltip-format": "{app}: {title}" - }, - "mpd": { - "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", - "format-disconnected": "Disconnected ", - "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", - "unknown-tag": "N/A", - "interval": 2, - "consume-icons": { - "on": " " - }, - "random-icons": { - "off": " ", - "on": " " - }, - "repeat-icons": { - "on": " " - }, - "single-icons": { - "on": "1 " - }, - "state-icons": { - "paused": "", - "playing": "" - }, - "tooltip-format": "MPD (connected)", - "tooltip-format-disconnected": "MPD (disconnected)" - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "", - "deactivated": "" - } - }, - "tray": { - "icon-size": 21, - "spacing": 10 - }, - "clock": { - "timezone": "America/New_York", - "tooltip-format": "{:%Y %B}\n{calendar}", - "format-alt": "{:%Y-%m-%d}" - }, - "cpu": { - "format": "{usage}% ", - "tooltip": false - }, - "memory": { - "format": "{}% " - }, - "temperature": { - "thermal-zone": 2, - "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", - "critical-threshold": 80, - "format-critical": "{temperatureC}°C {icon}", - "format": "{temperatureC}°C {icon}", - "format-icons": ["", "", ""] - }, - "backlight": { - "device": "acpi_video1", - "format": "{percent}% {icon}", - "format-icons": ["", "", "", "", "", "", "", "", ""] - }, - "battery": { - "states": { - "good": 95, - "warning": 30, - "critical": 15 - }, - "format": "{capacity}% {icon}", - "format-charging": "{capacity}% ", - "format-plugged": "{capacity}% ", - "format-alt": "{time} {icon}", - "format-good": "", - "format-full": "", - "format-icons": ["", "", "", "", ""] - }, - "battery#bat2": { - "bat": "BAT2" - }, - "network": { - "interface": "wlp2*", - "format-wifi": "{essid} ({signalStrength}%) ", - "format-ethernet": "{ipaddr}/{cidr} ", - "tooltip-format": "{ifname} via {gwaddr} ", - "format-linked": "{ifname} (No IP) ", - "format-disconnected": "Disconnected ⚠", - "format-alt": "{ifname}: {ipaddr}/{cidr}" - }, - "pulseaudio": { - "scroll-step": 1, - "format": "{volume}% {icon} {format_source}", - "format-bluetooth": "{volume}% {icon} {format_source}", - "format-bluetooth-muted": " {icon} {format_source}", - "format-muted": " {format_source}", - "format-source": "{volume}% ", - "format-source-muted": "", - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""] - }, - "on-click": "pavucontrol" - }, - "custom/media": { - "format": "{icon} {}", - "return-type": "json", - "max-length": 40, - "format-icons": { - "spotify": "", - "default": "🎜" - }, - "escape": true, - "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null", - "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" +{ + "layer": "top", + "position": "bottom", + "height": 30, + "width": 1280, + "spacing": 4, + "modules-left": [ + "sway/workspaces", + "sway/mode", + "sway/scratchpad", + "custom/media" + ], + "modules-center": ["sway/window"], + "modules-right": [ + "mpd", + "idle_inhibitor", + "pulseaudio", + "network", + "cpu", + "memory", + "temperature", + "backlight", + "keyboard-state", + "sway/language", + "battery", + "battery#bat2", + "clock", + "tray" + ], + "sway/workspaces": { + "disable-scroll": true, + "all-outputs": true, + "format": "{name}: {icon}", + "format-icons": { + "1": "", + "2": "", + "3": "", + "4": "", + "5": "", + "urgent": "", + "focused": "", + "default": "" } + }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + "icon-size": 21, + "spacing": 10 + }, + "clock": { + "timezone": "America/New_York", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + "thermal-zone": 2, + "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + "format-good": "", + "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + "interface": "wlp2*", + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + "scroll-step": 1, + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null", + "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" } -] +} From 0dbd75641e41c6da6f123ab379971c30d2d4548e Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 17:03:05 +0200 Subject: [PATCH 124/183] need to use this :( --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 66ab2069..60fac962 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -105,7 +105,7 @@ in programs.waybar = { enable = true; settings = { - mainBar = [ (builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json)) ]; + mainBar = (builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json)); }; }; From 95657cd6e213cba54b3c01a2fbfbc1ec5ce953b9 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 17:10:56 +0200 Subject: [PATCH 125/183] Add wlr/workspaces module --- .../home-manager/config/waybar/config.json | 38 +++++++------------ 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 40ef0214..a0ef6b9b 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -2,31 +2,21 @@ "layer": "top", "position": "bottom", "height": 30, - "width": 1280, + "width": "", "spacing": 4, - "modules-left": [ - "sway/workspaces", - "sway/mode", - "sway/scratchpad", - "custom/media" - ], - "modules-center": ["sway/window"], - "modules-right": [ - "mpd", - "idle_inhibitor", - "pulseaudio", - "network", - "cpu", - "memory", - "temperature", - "backlight", - "keyboard-state", - "sway/language", - "battery", - "battery#bat2", - "clock", - "tray" - ], + + "modules-left": ["wlr/workspaces"], + "modules-center": [], + "modules-right": [], + + "wlr/workspaces": { + "all-outputs": true, + "on-click": "activate", + "format": "{name}", + "on-scroll-up": "hyprctl dispatch workspace e+1", + "on-scroll-down": "hyprctl dispatch workspace e-1" + }, + "sway/workspaces": { "disable-scroll": true, "all-outputs": true, From f3de353c65296d802d3bef305f7065748de6ec96 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 17:12:13 +0200 Subject: [PATCH 126/183] remove width statement --- nixos-config/home-manager/config/waybar/config.json | 1 - 1 file changed, 1 deletion(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index a0ef6b9b..1a8ceae2 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -2,7 +2,6 @@ "layer": "top", "position": "bottom", "height": 30, - "width": "", "spacing": 4, "modules-left": ["wlr/workspaces"], From 1f860a9c6869faaf9349e7b63f26cf35f98e4ce5 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 17:17:47 +0200 Subject: [PATCH 127/183] Add icon to workspaces --- nixos-config/home-manager/config/waybar/config.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 1a8ceae2..40dc485a 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -11,7 +11,11 @@ "wlr/workspaces": { "all-outputs": true, "on-click": "activate", - "format": "{name}", + "format": "{name}: {icon}", + "format-icons": { + "focused": "", + "default": "" + }, "on-scroll-up": "hyprctl dispatch workspace e+1", "on-scroll-down": "hyprctl dispatch workspace e-1" }, From 9498224a979094579c661fdd2756a9218e62c371 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 17:21:06 +0200 Subject: [PATCH 128/183] Add font-awesome for icons --- nixos-config/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 60fac962..a113a941 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -43,6 +43,7 @@ in freetype # font rendering and configuration fira # fira sans font fira-code # fira code font + font-awesome # icons font fish # fish shell libnotify # notifications mako # notification daemon From 0ba3856dc5962b644880d4c55754e6ead8568696 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 17:24:29 +0200 Subject: [PATCH 129/183] readd all default modules --- .../home-manager/config/waybar/config.json | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 40dc485a..40189bee 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -4,9 +4,30 @@ "height": 30, "spacing": 4, - "modules-left": ["wlr/workspaces"], - "modules-center": [], - "modules-right": [], + "modules-left": [ + "wlr/workspaces", + "sway/workspaces", + "sway/mode", + "sway/scratchpad", + "custom/media" + ], + "modules-center": ["sway/window"], + "modules-right": [ + "mpd", + "idle_inhibitor", + "pulseaudio", + "network", + "cpu", + "memory", + "temperature", + "backlight", + "keyboard-state", + "sway/language", + "battery", + "battery#bat2", + "clock", + "tray" + ], "wlr/workspaces": { "all-outputs": true, From d6ddee511b140c9ebc659dcbc38c4b77138db47a Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 17:29:39 +0200 Subject: [PATCH 130/183] Add wlr/window module --- nixos-config/home-manager/config/waybar/config.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 40189bee..da059a7f 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -11,7 +11,7 @@ "sway/scratchpad", "custom/media" ], - "modules-center": ["sway/window"], + "modules-center": ["wlr/window"], "modules-right": [ "mpd", "idle_inhibitor", @@ -40,6 +40,10 @@ "on-scroll-up": "hyprctl dispatch workspace e+1", "on-scroll-down": "hyprctl dispatch workspace e-1" }, + "wlr/window": { + "format": "{}", + "separate-outputs": true + }, "sway/workspaces": { "disable-scroll": true, From 26d7c1b5fe861c0359fe1c0d1f1019933b9c995c Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 17:32:50 +0200 Subject: [PATCH 131/183] Add mpris module --- nixos-config/home-manager/config/waybar/config.json | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index da059a7f..4e15fe61 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -13,6 +13,7 @@ ], "modules-center": ["wlr/window"], "modules-right": [ + "mpris", "mpd", "idle_inhibitor", "pulseaudio", @@ -44,6 +45,16 @@ "format": "{}", "separate-outputs": true }, + "mpris": { + "format": "DEFAULT: {player_icon} {dynamic}", + "format-paused": "DEFAULT: {status_icon} {dynamic}", + "player-icons": { + "default": "▶" + }, + "status-icons": { + "paused": "⏸" + } + }, "sway/workspaces": { "disable-scroll": true, From 2b4553b8ac7c54dda6480b47a71113f9fc116f4d Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 17:37:26 +0200 Subject: [PATCH 132/183] Disable logs of modules --- .../home-manager/config/waybar/config.json | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 4e15fe61..768c03af 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -4,26 +4,12 @@ "height": 30, "spacing": 4, - "modules-left": [ - "wlr/workspaces", - "sway/workspaces", - "sway/mode", - "sway/scratchpad", - "custom/media" - ], + "modules-left": ["wlr/workspaces"], "modules-center": ["wlr/window"], "modules-right": [ "mpris", - "mpd", "idle_inhibitor", - "pulseaudio", - "network", - "cpu", - "memory", - "temperature", - "backlight", "keyboard-state", - "sway/language", "battery", "battery#bat2", "clock", From 4b93c2838a6b7de3f469df6b8ef72755a8eac01f Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 17:39:08 +0200 Subject: [PATCH 133/183] Add playerctl for mpris --- nixos-config/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index a113a941..6eada54a 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -52,6 +52,7 @@ in yt-dlp # video downloader #sweet # gtk theme waybar # status bar + playerctl # mpris ]; imports = [ From 6b7b88130b284da0b1b71aa583eb20d58bdd96ed Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 17:52:22 +0200 Subject: [PATCH 134/183] Modify battery --- .../home-manager/config/waybar/config.json | 44 +++++++------------ 1 file changed, 16 insertions(+), 28 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 768c03af..9d3e3b0b 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -6,15 +6,7 @@ "modules-left": ["wlr/workspaces"], "modules-center": ["wlr/window"], - "modules-right": [ - "mpris", - "idle_inhibitor", - "keyboard-state", - "battery", - "battery#bat2", - "clock", - "tray" - ], + "modules-right": ["mpris", "battery", "clock", "tray"], "wlr/workspaces": { "all-outputs": true, @@ -32,15 +24,25 @@ "separate-outputs": true }, "mpris": { - "format": "DEFAULT: {player_icon} {dynamic}", - "format-paused": "DEFAULT: {status_icon} {dynamic}", - "player-icons": { - "default": "▶" - }, + "format": "{status_icon} {dynamic}", + "format-paused": "{status_icon} {dynamic}", "status-icons": { + "playing": "▶", "paused": "⏸" } }, + "battery": { + "bat": "BAT0", + "states": { + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + "format-icons": ["", "", "", "", ""] + }, "sway/workspaces": { "disable-scroll": true, @@ -138,20 +140,6 @@ "format": "{percent}% {icon}", "format-icons": ["", "", "", "", "", "", "", "", ""] }, - "battery": { - "states": { - "good": 95, - "warning": 30, - "critical": 15 - }, - "format": "{capacity}% {icon}", - "format-charging": "{capacity}% ", - "format-plugged": "{capacity}% ", - "format-alt": "{time} {icon}", - "format-good": "", - "format-full": "", - "format-icons": ["", "", "", "", ""] - }, "battery#bat2": { "bat": "BAT2" }, From b0f839e7a0f326a5038c133d339357a0b1967df2 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 18:28:24 +0200 Subject: [PATCH 135/183] Move fonts to system packages --- nixos-config/home-manager.nix | 4 ---- nixos-config/system-packages.nix | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 6eada54a..12ee36a9 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -40,10 +40,6 @@ in acpilight # controlling laptop monitor backlight networkmanagerapplet # network configuration wofi # app launcher (wayland replacement for rofi) - freetype # font rendering and configuration - fira # fira sans font - fira-code # fira code font - font-awesome # icons font fish # fish shell libnotify # notifications mako # notification daemon diff --git a/nixos-config/system-packages.nix b/nixos-config/system-packages.nix index 37a1cbfe..1eba7820 100644 --- a/nixos-config/system-packages.nix +++ b/nixos-config/system-packages.nix @@ -19,6 +19,10 @@ qt6.qtwayland # wayland for qt6 libsForQt5.qt5.qtwayland # wayland for at5 polkit_gnome # graphical authentication agent for polkit + freetype # font rendering and configuration + fira # fira sans font + fira-code # fira code font + font-awesome # icons font ]; } From 7e4d42251acbb3daaadcbd9beda51302b5ea694d Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 18:28:30 +0200 Subject: [PATCH 136/183] Modify waybar config --- .../home-manager/config/waybar/config.json | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 9d3e3b0b..0620ac56 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -4,9 +4,9 @@ "height": 30, "spacing": 4, - "modules-left": ["wlr/workspaces"], - "modules-center": ["wlr/window"], - "modules-right": ["mpris", "battery", "clock", "tray"], + "modules-left": ["wlr/workspaces", "wlr/window"], + "modules-center": ["clock"], + "modules-right": ["mpris", "battery", "tray"], "wlr/workspaces": { "all-outputs": true, @@ -43,6 +43,11 @@ "format-alt": "{time} {icon}", "format-icons": ["", "", "", "", ""] }, + "clock": { + "timezone": "Europe/Zurich", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, "sway/workspaces": { "disable-scroll": true, @@ -115,11 +120,7 @@ "icon-size": 21, "spacing": 10 }, - "clock": { - "timezone": "America/New_York", - "tooltip-format": "{:%Y %B}\n{calendar}", - "format-alt": "{:%Y-%m-%d}" - }, + "cpu": { "format": "{usage}% ", "tooltip": false From aba3f837c372cf886c2986fc71f7aff1979db4cf Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 18:33:33 +0200 Subject: [PATCH 137/183] Fonts properly configured --- nixos-config/system-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos-config/system-packages.nix b/nixos-config/system-packages.nix index 1eba7820..5e685e7b 100644 --- a/nixos-config/system-packages.nix +++ b/nixos-config/system-packages.nix @@ -20,9 +20,11 @@ libsForQt5.qt5.qtwayland # wayland for at5 polkit_gnome # graphical authentication agent for polkit freetype # font rendering and configuration + ]; + + fonts.fonts = with pkgs; [ fira # fira sans font fira-code # fira code font font-awesome # icons font ]; - } From 3a72d9f84642d7ea0a57c7f1922e58e1caf957fc Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 18:42:10 +0200 Subject: [PATCH 138/183] More spacing, less height --- nixos-config/home-manager/config/waybar/config.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 0620ac56..e70aa832 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -1,8 +1,8 @@ { "layer": "top", "position": "bottom", - "height": 30, - "spacing": 4, + "height": 25, + "spacing": 10, "modules-left": ["wlr/workspaces", "wlr/window"], "modules-center": ["clock"], From 72876abf8b0ef1ae046b2453e1fad61e7d824cba Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 18:43:40 +0200 Subject: [PATCH 139/183] Use battery-bolt icon for charging --- nixos-config/home-manager/config/waybar/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index e70aa832..fbf4b7dd 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -38,7 +38,7 @@ "critical": 15 }, "format": "{capacity}% {icon}", - "format-charging": "{capacity}% ", + "format-charging": "{capacity}% ", "format-plugged": "{capacity}% ", "format-alt": "{time} {icon}", "format-icons": ["", "", "", "", ""] From 85879b86fa2dc6e5841e20faf1d36b7d66be5cf2 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 18:50:40 +0200 Subject: [PATCH 140/183] Rename module correctly --- nixos-config/home-manager/config/waybar/config.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index fbf4b7dd..02187cff 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -4,7 +4,7 @@ "height": 25, "spacing": 10, - "modules-left": ["wlr/workspaces", "wlr/window"], + "modules-left": ["wlr/workspaces", "hyprland/window"], "modules-center": ["clock"], "modules-right": ["mpris", "battery", "tray"], @@ -19,7 +19,7 @@ "on-scroll-up": "hyprctl dispatch workspace e+1", "on-scroll-down": "hyprctl dispatch workspace e-1" }, - "wlr/window": { + "hyprland/window": { "format": "{}", "separate-outputs": true }, From b9fcba5000b0e02f05a5bc90075d770424df4b40 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 19:00:26 +0200 Subject: [PATCH 141/183] Modify workspaces. Add hyprland submap --- nixos-config/home-manager/config/waybar/config.json | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 02187cff..32b462b6 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -4,25 +4,26 @@ "height": 25, "spacing": 10, - "modules-left": ["wlr/workspaces", "hyprland/window"], + "modules-left": ["wlr/workspaces", "hyprland/window", "hyprland/submap"], "modules-center": ["clock"], "modules-right": ["mpris", "battery", "tray"], "wlr/workspaces": { - "all-outputs": true, - "on-click": "activate", "format": "{name}: {icon}", "format-icons": { - "focused": "", + "active": "", "default": "" }, - "on-scroll-up": "hyprctl dispatch workspace e+1", - "on-scroll-down": "hyprctl dispatch workspace e-1" + "sort-by-number": true }, "hyprland/window": { "format": "{}", "separate-outputs": true }, + "hyprland/submap": { + "format": "{}", + "tooltip": false + }, "mpris": { "format": "{status_icon} {dynamic}", "format-paused": "{status_icon} {dynamic}", From 34120c5ca070d3827014c48b6387a53fe20318d9 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 19:03:11 +0200 Subject: [PATCH 142/183] Add urgent icon to workspaces --- nixos-config/home-manager/config/waybar/config.json | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 32b462b6..539750f9 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -11,6 +11,7 @@ "wlr/workspaces": { "format": "{name}: {icon}", "format-icons": { + "urgent": "", "active": "", "default": "" }, From cdabfe5608ce00cd672837e40fc82459bfaff368 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 19:12:44 +0200 Subject: [PATCH 143/183] Change charging icon --- nixos-config/home-manager/config/waybar/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 539750f9..d3b46809 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -40,7 +40,7 @@ "critical": 15 }, "format": "{capacity}% {icon}", - "format-charging": "{capacity}% ", + "format-charging": "{capacity}% ", "format-plugged": "{capacity}% ", "format-alt": "{time} {icon}", "format-icons": ["", "", "", "", ""] From 0312f76c3c022bd6b32a437279abe6f62e3e4060 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 19:32:49 +0200 Subject: [PATCH 144/183] Update waybar modules --- .../home-manager/config/waybar/config.json | 127 +----------------- 1 file changed, 1 insertion(+), 126 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index d3b46809..6a44af76 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -6,7 +6,7 @@ "modules-left": ["wlr/workspaces", "hyprland/window", "hyprland/submap"], "modules-center": ["clock"], - "modules-right": ["mpris", "battery", "tray"], + "modules-right": ["mpris", "idle_inhibitor", "battery", "tray"], "wlr/workspaces": { "format": "{name}: {icon}", @@ -50,67 +50,6 @@ "tooltip-format": "{:%Y %B}\n{calendar}", "format-alt": "{:%Y-%m-%d}" }, - - "sway/workspaces": { - "disable-scroll": true, - "all-outputs": true, - "format": "{name}: {icon}", - "format-icons": { - "1": "", - "2": "", - "3": "", - "4": "", - "5": "", - "urgent": "", - "focused": "", - "default": "" - } - }, - "keyboard-state": { - "numlock": true, - "capslock": true, - "format": "{name} {icon}", - "format-icons": { - "locked": "", - "unlocked": "" - } - }, - "sway/mode": { - "format": "{}" - }, - "sway/scratchpad": { - "format": "{icon} {count}", - "show-empty": false, - "format-icons": ["", ""], - "tooltip": true, - "tooltip-format": "{app}: {title}" - }, - "mpd": { - "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", - "format-disconnected": "Disconnected ", - "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", - "unknown-tag": "N/A", - "interval": 2, - "consume-icons": { - "on": " " - }, - "random-icons": { - "off": " ", - "on": " " - }, - "repeat-icons": { - "on": " " - }, - "single-icons": { - "on": "1 " - }, - "state-icons": { - "paused": "", - "playing": "" - }, - "tooltip-format": "MPD (connected)", - "tooltip-format-disconnected": "MPD (disconnected)" - }, "idle_inhibitor": { "format": "{icon}", "format-icons": { @@ -121,69 +60,5 @@ "tray": { "icon-size": 21, "spacing": 10 - }, - - "cpu": { - "format": "{usage}% ", - "tooltip": false - }, - "memory": { - "format": "{}% " - }, - "temperature": { - "thermal-zone": 2, - "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", - "critical-threshold": 80, - "format-critical": "{temperatureC}°C {icon}", - "format": "{temperatureC}°C {icon}", - "format-icons": ["", "", ""] - }, - "backlight": { - "device": "acpi_video1", - "format": "{percent}% {icon}", - "format-icons": ["", "", "", "", "", "", "", "", ""] - }, - "battery#bat2": { - "bat": "BAT2" - }, - "network": { - "interface": "wlp2*", - "format-wifi": "{essid} ({signalStrength}%) ", - "format-ethernet": "{ipaddr}/{cidr} ", - "tooltip-format": "{ifname} via {gwaddr} ", - "format-linked": "{ifname} (No IP) ", - "format-disconnected": "Disconnected ⚠", - "format-alt": "{ifname}: {ipaddr}/{cidr}" - }, - "pulseaudio": { - "scroll-step": 1, - "format": "{volume}% {icon} {format_source}", - "format-bluetooth": "{volume}% {icon} {format_source}", - "format-bluetooth-muted": " {icon} {format_source}", - "format-muted": " {format_source}", - "format-source": "{volume}% ", - "format-source-muted": "", - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""] - }, - "on-click": "pavucontrol" - }, - "custom/media": { - "format": "{icon} {}", - "return-type": "json", - "max-length": 40, - "format-icons": { - "spotify": "", - "default": "🎜" - }, - "escape": true, - "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null", - "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" } } From 73f523808e0b71e741012fbae3c1cca022cc4a45 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 19:32:56 +0200 Subject: [PATCH 145/183] Add styling --- nixos-config/home-manager.nix | 1 + .../home-manager/config/waybar/style.css | 282 ++++++++++++++++++ 2 files changed, 283 insertions(+) create mode 100644 nixos-config/home-manager/config/waybar/style.css diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 12ee36a9..34bb0575 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -105,6 +105,7 @@ in settings = { mainBar = (builtins.fromJSON (builtins.readFile ./home-manager/config/waybar/config.json)); }; + style = (builtins.readFile ./home-manager/config/waybar/style.css); }; # gtk theming diff --git a/nixos-config/home-manager/config/waybar/style.css b/nixos-config/home-manager/config/waybar/style.css new file mode 100644 index 00000000..558a7349 --- /dev/null +++ b/nixos-config/home-manager/config/waybar/style.css @@ -0,0 +1,282 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; + font-size: 13px; +} + +window#waybar { + /*background-color: rgba(43, 48, 59, 0.5);*/ + background-color: #9933022f; + border-bottom: 3px solid rgba(100, 114, 125, 0.5); + color: #ffffff; + transition-property: background-color; + transition-duration: 0.5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +/* +window#waybar.empty { + background-color: transparent; +} +window#waybar.solo { + background-color: #FFFFFF; +} +*/ + +window#waybar.termite { + background-color: #3f3f3f; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: #ffffff; +} + +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); +} + +#workspaces button.focused { + background-color: #64727d; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: #64727d; + border-bottom: 3px solid #ffffff; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#mpd { + padding: 0 10px; + color: #ffffff; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} + +#clock { + background-color: #64727d; +} + +#battery { + background-color: #ffffff; + color: #000000; +} + +#battery.charging, +#battery.plugged { + color: #ffffff; + background-color: #26a65b; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: #000000; +} + +#cpu { + background-color: #2ecc71; + color: #000000; +} + +#memory { + background-color: #9b59b6; +} + +#disk { + background-color: #964b00; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + background-color: #2980b9; +} + +#network.disconnected { + background-color: #f53c3c; +} + +#pulseaudio { + background-color: #f1c40f; + color: #000000; +} + +#pulseaudio.muted { + background-color: #90b1b1; + color: #2a5c45; +} + +#wireplumber { + background-color: #fff0f5; + color: #000000; +} + +#wireplumber.muted { + background-color: #f53c3c; +} + +#custom-media { + background-color: #66cc99; + color: #2a5c45; + min-width: 100px; +} + +#custom-media.custom-spotify { + background-color: #66cc99; +} + +#custom-media.custom-vlc { + background-color: #ffa000; +} + +#temperature { + background-color: #f0932b; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { + background-color: #2980b9; +} + +#tray > .passive { + -gtk-icon-effect: dim; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #eb4d4b; +} + +#idle_inhibitor { + background-color: #2d3436; +} + +#idle_inhibitor.activated { + background-color: #ecf0f1; + color: #2d3436; +} + +#mpd { + background-color: #66cc99; + color: #2a5c45; +} + +#mpd.disconnected { + background-color: #f53c3c; +} + +#mpd.stopped { + background-color: #90b1b1; +} + +#mpd.paused { + background-color: #51a37a; +} + +#language { + background: #00b093; + color: #740864; + padding: 0 5px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state { + background: #97e1ad; + color: #000000; + padding: 0 0px; + margin: 0 5px; + min-width: 16px; +} + +#keyboard-state > label { + padding: 0 5px; +} + +#keyboard-state > label.locked { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad { + background: rgba(0, 0, 0, 0.2); +} + +#scratchpad.empty { + background-color: transparent; +} From 736c9cffaa268e961d2aea721970ad71fad6dd4d Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 19:38:07 +0200 Subject: [PATCH 146/183] Background color as rgba --- nixos-config/home-manager/config/waybar/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager/config/waybar/style.css b/nixos-config/home-manager/config/waybar/style.css index 558a7349..d2c055ff 100644 --- a/nixos-config/home-manager/config/waybar/style.css +++ b/nixos-config/home-manager/config/waybar/style.css @@ -6,7 +6,7 @@ window#waybar { /*background-color: rgba(43, 48, 59, 0.5);*/ - background-color: #9933022f; + background-color: rgba(51, 2, 47, 0.6); border-bottom: 3px solid rgba(100, 114, 125, 0.5); color: #ffffff; transition-property: background-color; From f42d3f733490a70b39c3ed14a52b542aef200eec Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 19:51:41 +0200 Subject: [PATCH 147/183] Modify styling --- .../home-manager/config/waybar/style.css | 173 ++---------------- 1 file changed, 19 insertions(+), 154 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/style.css b/nixos-config/home-manager/config/waybar/style.css index d2c055ff..1be590e2 100644 --- a/nixos-config/home-manager/config/waybar/style.css +++ b/nixos-config/home-manager/config/waybar/style.css @@ -1,14 +1,16 @@ * { /* `otf-font-awesome` is required to be installed for icons */ - font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; - font-size: 13px; + font-family: FontAwesome, Fira Sans, sans-serif; + font-size: 12px; } window#waybar { /*background-color: rgba(43, 48, 59, 0.5);*/ background-color: rgba(51, 2, 47, 0.6); - border-bottom: 3px solid rgba(100, 114, 125, 0.5); - color: #ffffff; + border-top: 2px solid rgba(93, 4, 86, 0.8); + /*border-bottom: 3px solid rgba(100, 114, 125, 0.5);*/ + color: #f2daf0; + /*color: #ffffff;*/ transition-property: background-color; transition-duration: 0.5s; } @@ -26,15 +28,6 @@ window#waybar.solo { } */ -window#waybar.termite { - background-color: #3f3f3f; -} - -window#waybar.chromium { - background-color: #000000; - border: none; -} - button { /* Use box-shadow instead of border so the text isn't offset */ box-shadow: inset 0 -3px transparent; @@ -75,24 +68,9 @@ button:hover { #clock, #battery, -#cpu, -#memory, -#disk, -#temperature, -#backlight, -#network, -#pulseaudio, -#wireplumber, -#custom-media, #tray, #mode, #idle_inhibitor, -#scratchpad, -#mpd { - padding: 0 10px; - color: #ffffff; -} - #window, #workspaces { margin: 0 4px; @@ -109,30 +87,30 @@ button:hover { } #clock { - background-color: #64727d; + background-color: #5d0456; } #battery { - background-color: #ffffff; - color: #000000; + background-color: #5d0456; + /*color: #000000;*/ } #battery.charging, #battery.plugged { - color: #ffffff; - background-color: #26a65b; + /*color: #ffffff;*/ + background-color: #1d7b43; } @keyframes blink { to { - background-color: #ffffff; + background-color: #f2daf0; color: #000000; } } #battery.critical:not(.charging) { - background-color: #f53c3c; - color: #ffffff; + background-color: #ca3232; + color: #f2daf0; animation-name: blink; animation-duration: 0.5s; animation-timing-function: linear; @@ -144,72 +122,7 @@ label:focus { background-color: #000000; } -#cpu { - background-color: #2ecc71; - color: #000000; -} - -#memory { - background-color: #9b59b6; -} - -#disk { - background-color: #964b00; -} - -#backlight { - background-color: #90b1b1; -} - -#network { - background-color: #2980b9; -} - -#network.disconnected { - background-color: #f53c3c; -} - -#pulseaudio { - background-color: #f1c40f; - color: #000000; -} - -#pulseaudio.muted { - background-color: #90b1b1; - color: #2a5c45; -} - -#wireplumber { - background-color: #fff0f5; - color: #000000; -} - -#wireplumber.muted { - background-color: #f53c3c; -} - -#custom-media { - background-color: #66cc99; - color: #2a5c45; - min-width: 100px; -} - -#custom-media.custom-spotify { - background-color: #66cc99; -} - -#custom-media.custom-vlc { - background-color: #ffa000; -} - -#temperature { - background-color: #f0932b; -} - -#temperature.critical { - background-color: #eb4d4b; -} - +/* #tray { background-color: #2980b9; } @@ -222,61 +135,13 @@ label:focus { -gtk-icon-effect: highlight; background-color: #eb4d4b; } +*/ #idle_inhibitor { - background-color: #2d3436; + background-color: #33022f; } #idle_inhibitor.activated { - background-color: #ecf0f1; - color: #2d3436; -} - -#mpd { - background-color: #66cc99; - color: #2a5c45; -} - -#mpd.disconnected { - background-color: #f53c3c; -} - -#mpd.stopped { - background-color: #90b1b1; -} - -#mpd.paused { - background-color: #51a37a; -} - -#language { - background: #00b093; - color: #740864; - padding: 0 5px; - margin: 0 5px; - min-width: 16px; -} - -#keyboard-state { - background: #97e1ad; - color: #000000; - padding: 0 0px; - margin: 0 5px; - min-width: 16px; -} - -#keyboard-state > label { - padding: 0 5px; -} - -#keyboard-state > label.locked { - background: rgba(0, 0, 0, 0.2); -} - -#scratchpad { - background: rgba(0, 0, 0, 0.2); -} - -#scratchpad.empty { - background-color: transparent; + background-color: #f2daf0; + color: #5d0456; } From 50fb5829a7ad0a0a6ad2e6c1ce8d05011a669847 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 19:52:49 +0200 Subject: [PATCH 148/183] Remove all other borders --- nixos-config/home-manager/config/waybar/style.css | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/home-manager/config/waybar/style.css b/nixos-config/home-manager/config/waybar/style.css index 1be590e2..ce83c027 100644 --- a/nixos-config/home-manager/config/waybar/style.css +++ b/nixos-config/home-manager/config/waybar/style.css @@ -7,6 +7,7 @@ window#waybar { /*background-color: rgba(43, 48, 59, 0.5);*/ background-color: rgba(51, 2, 47, 0.6); + border: 0px; border-top: 2px solid rgba(93, 4, 86, 0.8); /*border-bottom: 3px solid rgba(100, 114, 125, 0.5);*/ color: #f2daf0; From 43b0799d3ea16e757a381b2d0d39466fb3f12536 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 19:54:39 +0200 Subject: [PATCH 149/183] change some colors --- nixos-config/home-manager/config/waybar/style.css | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos-config/home-manager/config/waybar/style.css b/nixos-config/home-manager/config/waybar/style.css index ce83c027..6ca4f627 100644 --- a/nixos-config/home-manager/config/waybar/style.css +++ b/nixos-config/home-manager/config/waybar/style.css @@ -93,12 +93,14 @@ button:hover { #battery { background-color: #5d0456; + color: #f2daf0; /*color: #000000;*/ } #battery.charging, #battery.plugged { /*color: #ffffff;*/ + color: #f2daf0; background-color: #1d7b43; } @@ -139,7 +141,7 @@ label:focus { */ #idle_inhibitor { - background-color: #33022f; + background-color: #5d0456; } #idle_inhibitor.activated { From 42b22008de8c56da14271012cf7c30374b1363ca Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 19:57:00 +0200 Subject: [PATCH 150/183] Same colors for charging battery --- nixos-config/home-manager/config/waybar/style.css | 7 ------- 1 file changed, 7 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/style.css b/nixos-config/home-manager/config/waybar/style.css index 6ca4f627..a0423126 100644 --- a/nixos-config/home-manager/config/waybar/style.css +++ b/nixos-config/home-manager/config/waybar/style.css @@ -97,13 +97,6 @@ button:hover { /*color: #000000;*/ } -#battery.charging, -#battery.plugged { - /*color: #ffffff;*/ - color: #f2daf0; - background-color: #1d7b43; -} - @keyframes blink { to { background-color: #f2daf0; From 1f248fd6c74660e4bdaa8aae6a616d1c7dc5d451 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 20:00:53 +0200 Subject: [PATCH 151/183] try max-length for mpris module --- nixos-config/home-manager/config/waybar/config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 6a44af76..97f1aa25 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -31,7 +31,8 @@ "status-icons": { "playing": "▶", "paused": "⏸" - } + }, + "max-length": 40 }, "battery": { "bat": "BAT0", From 4090bec19191503b01384e6c97a09cb4793391c5 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 20:02:05 +0200 Subject: [PATCH 152/183] Test very short --- nixos-config/home-manager/config/waybar/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 97f1aa25..a33a716a 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -32,7 +32,7 @@ "playing": "▶", "paused": "⏸" }, - "max-length": 40 + "max-length": 10 }, "battery": { "bat": "BAT0", From 5ae481a15aef204a2487a2861a1f3ad46f70ce83 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 20:31:03 +0200 Subject: [PATCH 153/183] Remove non-functional max length --- nixos-config/home-manager/config/waybar/config.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index a33a716a..6a44af76 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -31,8 +31,7 @@ "status-icons": { "playing": "▶", "paused": "⏸" - }, - "max-length": 10 + } }, "battery": { "bat": "BAT0", From 889b135e7c40f84f6c32e1a8fe450292fcbd42f0 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 1 May 2023 21:29:17 +0200 Subject: [PATCH 154/183] Add custom script to handle mpris output --- nixos-config/home-manager.nix | 20 +- .../home-manager/config/waybar/config.json | 6 + .../scripts/waybar/player-mpris-tail.py | 530 ++++++++++++++++++ 3 files changed, 542 insertions(+), 14 deletions(-) create mode 100755 nixos-config/home-manager/scripts/waybar/player-mpris-tail.py diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 34bb0575..d664300a 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -108,20 +108,12 @@ in style = (builtins.readFile ./home-manager/config/waybar/style.css); }; - # gtk theming - #gtk = { - # enable = true; - # theme = { - # name = "Sweet-Dark"; - # }; - # iconTheme = { - # name = "Sweet-Rainbow"; - # }; - # font = { - # name = "Fira Sans"; - # size = 12; - # }; - #}; + home.file = { + ".scripts/waybar/player-mpris-tail.py" = { + source = ./home-manager/scripts/waybar/player-mpris-tail.py; + executable = true; + }; + }; services.mako.enable = true; }; diff --git a/nixos-config/home-manager/config/waybar/config.json b/nixos-config/home-manager/config/waybar/config.json index 6a44af76..d598115a 100644 --- a/nixos-config/home-manager/config/waybar/config.json +++ b/nixos-config/home-manager/config/waybar/config.json @@ -60,5 +60,11 @@ "tray": { "icon-size": 21, "spacing": 10 + }, + "custom/mpris": { + "exec": "~/.scripts/polybar/player-mpris-tail.py -f '{icon} {:artist:t10:{artist}:}{:artist: - :}{:t25:{title}:}'", + "on-click": "~/.scripts/polybar/player-mpris-tail.py play-pause &", + "on-click-middle": "~/.scripts/polybar/player-mpris-tail.py next &", + "on-click-right": "~/.scripts/polybar/player-mpris-tail.py previous &" } } diff --git a/nixos-config/home-manager/scripts/waybar/player-mpris-tail.py b/nixos-config/home-manager/scripts/waybar/player-mpris-tail.py new file mode 100755 index 00000000..8d395554 --- /dev/null +++ b/nixos-config/home-manager/scripts/waybar/player-mpris-tail.py @@ -0,0 +1,530 @@ +#!/usr/bin/env python3 + +import sys +import dbus +import os +from operator import itemgetter +import argparse +import re +from urllib.parse import unquote +import time +from dbus.mainloop.glib import DBusGMainLoop +from gi.repository import GLib +DBusGMainLoop(set_as_default=True) + + +FORMAT_STRING = '{icon} {artist} - {title}' +FORMAT_REGEX = re.compile(r'(\{:(?P.*?)(:(?P[wt])(?P\d+))?:(?P.*?):\})', re.I) +FORMAT_TAG_REGEX = re.compile(r'(?P[wt])(?P\d+)') +SAFE_TAG_REGEX = re.compile(r'[{}]') + +class PlayerManager: + def __init__(self, blacklist = [], connect = True): + self.blacklist = blacklist + self._connect = connect + self._session_bus = dbus.SessionBus() + self.players = {} + + self.print_queue = [] + self.connected = False + self.player_states = {} + + self.refreshPlayerList() + + if self._connect: + self.connect() + loop = GLib.MainLoop() + try: + loop.run() + except KeyboardInterrupt: + print("interrupt received, stopping…") + + def connect(self): + self._session_bus.add_signal_receiver(self.onOwnerChangedName, 'NameOwnerChanged') + self._session_bus.add_signal_receiver(self.onChangedProperties, 'PropertiesChanged', + path = '/org/mpris/MediaPlayer2', + sender_keyword='sender') + + def onChangedProperties(self, interface, properties, signature, sender = None): + if sender in self.players: + player = self.players[sender] + # If we know this player, but haven't been able to set up a signal handler + if 'properties_changed' not in player._signals: + # Then trigger the signal handler manually + player.onPropertiesChanged(interface, properties, signature) + else: + # If we don't know this player, get its name and add it + bus_name = self.getBusNameFromOwner(sender) + if bus_name is None: + return + self.addPlayer(bus_name, sender) + player = self.players[sender] + player.onPropertiesChanged(interface, properties, signature) + + def onOwnerChangedName(self, bus_name, old_owner, new_owner): + if self.busNameIsAPlayer(bus_name): + if new_owner and not old_owner: + self.addPlayer(bus_name, new_owner) + elif old_owner and not new_owner: + self.removePlayer(old_owner) + else: + self.changePlayerOwner(bus_name, old_owner, new_owner) + + def getBusNameFromOwner(self, owner): + player_bus_names = [ bus_name for bus_name in self._session_bus.list_names() if self.busNameIsAPlayer(bus_name) ] + for player_bus_name in player_bus_names: + player_bus_owner = self._session_bus.get_name_owner(player_bus_name) + if owner == player_bus_owner: + return player_bus_name + + def busNameIsAPlayer(self, bus_name): + return bus_name.startswith('org.mpris.MediaPlayer2') and bus_name.split('.')[3] not in self.blacklist + + def refreshPlayerList(self): + player_bus_names = [ bus_name for bus_name in self._session_bus.list_names() if self.busNameIsAPlayer(bus_name) ] + for player_bus_name in player_bus_names: + self.addPlayer(player_bus_name) + if self.connected != True: + self.connected = True + self.printQueue() + + def addPlayer(self, bus_name, owner = None): + player = Player(self._session_bus, bus_name, owner = owner, connect = self._connect, _print = self.print) + self.players[player.owner] = player + + def removePlayer(self, owner): + if owner in self.players: + self.players[owner].disconnect() + del self.players[owner] + # If there are no more players, clear the output + if len(self.players) == 0: + _printFlush(ICON_NONE) + # Else, print the output of the next active player + else: + players = self.getSortedPlayerOwnerList() + if len(players) > 0: + self.players[players[0]].printStatus() + + def changePlayerOwner(self, bus_name, old_owner, new_owner): + player = Player(self._session_bus, bus_name, owner = new_owner, connect = self._connect, _print = self.print) + self.players[new_owner] = player + del self.players[old_owner] + + # Get a list of player owners sorted by current status and age + def getSortedPlayerOwnerList(self): + players = [ + { + 'number': int(owner.split('.')[-1]), + 'status': 2 if player.status == 'playing' else 1 if player.status == 'paused' else 0, + 'owner': owner + } + for owner, player in self.players.items() + ] + return [ info['owner'] for info in reversed(sorted(players, key=itemgetter('status', 'number'))) ] + + # Get latest player that's currently playing + def getCurrentPlayer(self): + playing_players = [ + player_owner for player_owner in self.getSortedPlayerOwnerList() + if + self.players[player_owner].status == 'playing' or + self.players[player_owner].status == 'paused' + ] + return self.players[playing_players[0]] if playing_players else None + + def print(self, status, player): + self.player_states[player.bus_name] = status + + if self.connected: + current_player = self.getCurrentPlayer() + if current_player != None: + _printFlush(self.player_states[current_player.bus_name]) + else: + _printFlush(ICON_STOPPED) + else: + self.print_queue.append([status, player]) + + def printQueue(self): + for args in self.print_queue: + self.print(args[0], args[1]) + self.print_queue.clear() + + +class Player: + def __init__(self, session_bus, bus_name, owner = None, connect = True, _print = None): + self._session_bus = session_bus + self.bus_name = bus_name + self._disconnecting = False + self.__print = _print + + self.metadata = { + 'artist' : '', + 'album' : '', + 'title' : '', + 'track' : 0 + } + + self._rate = 1. + self._positionAtLastUpdate = 0. + self._timeAtLastUpdate = time.time() + self._positionTimerRunning = False + + self._metadata = None + self.status = 'stopped' + self.icon = ICON_NONE + self.icon_reversed = ICON_PLAYING + if owner is not None: + self.owner = owner + else: + self.owner = self._session_bus.get_name_owner(bus_name) + self._obj = self._session_bus.get_object(self.bus_name, '/org/mpris/MediaPlayer2') + self._properties_interface = dbus.Interface(self._obj, dbus_interface='org.freedesktop.DBus.Properties') + self._introspect_interface = dbus.Interface(self._obj, dbus_interface='org.freedesktop.DBus.Introspectable') + self._media_interface = dbus.Interface(self._obj, dbus_interface='org.mpris.MediaPlayer2') + self._player_interface = dbus.Interface(self._obj, dbus_interface='org.mpris.MediaPlayer2.Player') + self._introspect = self._introspect_interface.get_dbus_method('Introspect', dbus_interface=None) + self._getProperty = self._properties_interface.get_dbus_method('Get', dbus_interface=None) + self._playerPlay = self._player_interface.get_dbus_method('Play', dbus_interface=None) + self._playerPause = self._player_interface.get_dbus_method('Pause', dbus_interface=None) + self._playerPlayPause = self._player_interface.get_dbus_method('PlayPause', dbus_interface=None) + self._playerStop = self._player_interface.get_dbus_method('Stop', dbus_interface=None) + self._playerPrevious = self._player_interface.get_dbus_method('Previous', dbus_interface=None) + self._playerNext = self._player_interface.get_dbus_method('Next', dbus_interface=None) + self._playerRaise = self._media_interface.get_dbus_method('Raise', dbus_interface=None) + self._signals = {} + + self.refreshPosition() + self.refreshStatus() + self.refreshMetadata() + + if connect: + self.printStatus() + self.connect() + + def play(self): + self._playerPlay() + def pause(self): + self._playerPause() + def playpause(self): + self._playerPlayPause() + def stop(self): + self._playerStop() + def previous(self): + self._playerPrevious() + def next(self): + self._playerNext() + def raisePlayer(self): + self._playerRaise() + + def connect(self): + if self._disconnecting is not True: + introspect_xml = self._introspect(self.bus_name, '/') + if 'TrackMetadataChanged' in introspect_xml: + self._signals['track_metadata_changed'] = self._session_bus.add_signal_receiver(self.onMetadataChanged, 'TrackMetadataChanged', self.bus_name) + self._signals['seeked'] = self._player_interface.connect_to_signal('Seeked', self.onSeeked) + self._signals['properties_changed'] = self._properties_interface.connect_to_signal('PropertiesChanged', self.onPropertiesChanged) + + def disconnect(self): + self._disconnecting = True + for signal_name, signal_handler in list(self._signals.items()): + signal_handler.remove() + del self._signals[signal_name] + + def refreshStatus(self): + # Some clients (VLC) will momentarily create a new player before removing it again + # so we can't be sure the interface still exists + try: + self.status = str(self._getProperty('org.mpris.MediaPlayer2.Player', 'PlaybackStatus')).lower() + self.updateIcon() + self.checkPositionTimer() + except dbus.exceptions.DBusException: + self.disconnect() + + def refreshMetadata(self): + # Some clients (VLC) will momentarily create a new player before removing it again + # so we can't be sure the interface still exists + try: + self._metadata = self._getProperty('org.mpris.MediaPlayer2.Player', 'Metadata') + self._parseMetadata() + except dbus.exceptions.DBusException: + self.disconnect() + + def updateIcon(self): + self.icon = ( + ICON_PLAYING if self.status == 'playing' else + ICON_PAUSED if self.status == 'paused' else + ICON_STOPPED if self.status == 'stopped' else + ICON_NONE + ) + self.icon_reversed = ( + ICON_PAUSED if self.status == 'playing' else + ICON_PLAYING + ) + + def _print(self, status): + self.__print(status, self) + + def _parseMetadata(self): + if self._metadata != None: + # Obtain properties from _metadata + _artist = _getProperty(self._metadata, 'xesam:artist', ['']) + _album = _getProperty(self._metadata, 'xesam:album', '') + _title = _getProperty(self._metadata, 'xesam:title', '') + _track = _getProperty(self._metadata, 'xesam:trackNumber', '') + _genre = _getProperty(self._metadata, 'xesam:genre', ['']) + _disc = _getProperty(self._metadata, 'xesam:discNumber', '') + _length = _getProperty(self._metadata, 'xesam:length', 0) or _getProperty(self._metadata, 'mpris:length', 0) + _length_int = _length if type(_length) is int else int(float(_length)) + _date = _getProperty(self._metadata, 'xesam:contentCreated', '') + _year = _date[0:4] if len(_date) else '' + _url = _getProperty(self._metadata, 'xesam:url', '') + _cover = _getProperty(self._metadata, 'xesam:artUrl', '') or _getProperty(self._metadata, 'mpris:artUrl', '') + _duration = _getDuration(_length_int) + # Update metadata + self.metadata['artist'] = re.sub(SAFE_TAG_REGEX, """\1\1""", _firstIfList(_artist)) + self.metadata['album'] = re.sub(SAFE_TAG_REGEX, """\1\1""", _firstIfList(_album)) + self.metadata['title'] = re.sub(SAFE_TAG_REGEX, """\1\1""", _firstIfList(_title)) + self.metadata['track'] = _track + self.metadata['genre'] = re.sub(SAFE_TAG_REGEX, """\1\1""", _firstIfList(_genre)) + self.metadata['disc'] = _disc + self.metadata['date'] = re.sub(SAFE_TAG_REGEX, """\1\1""", _date) + self.metadata['year'] = re.sub(SAFE_TAG_REGEX, """\1\1""", _year) + self.metadata['url'] = _url + self.metadata['filename'] = os.path.basename(_url) + self.metadata['length'] = _length_int + self.metadata['cover'] = re.sub(SAFE_TAG_REGEX, """\1\1""", _firstIfList(_cover)) + self.metadata['duration'] = _duration + + def onMetadataChanged(self, track_id, metadata): + self.refreshMetadata() + self.printStatus() + + def onPropertiesChanged(self, interface, properties, signature): + updated = False + if dbus.String('Metadata') in properties: + _metadata = properties[dbus.String('Metadata')] + if _metadata != self._metadata: + self._metadata = _metadata + self._parseMetadata() + updated = True + if dbus.String('PlaybackStatus') in properties: + status = str(properties[dbus.String('PlaybackStatus')]).lower() + if status != self.status: + self.status = status + self.checkPositionTimer() + self.updateIcon() + updated = True + if dbus.String('Rate') in properties and dbus.String('PlaybackStatus') not in properties: + self.refreshStatus() + if NEEDS_POSITION and dbus.String('Rate') in properties: + rate = properties[dbus.String('Rate')] + if rate != self._rate: + self._rate = rate + self.refreshPosition() + + if updated: + self.refreshPosition() + self.printStatus() + + def checkPositionTimer(self): + if NEEDS_POSITION and self.status == 'playing' and not self._positionTimerRunning: + self._positionTimerRunning = True + GLib.timeout_add_seconds(1, self._positionTimer) + + def onSeeked(self, position): + self.refreshPosition() + self.printStatus() + + def _positionTimer(self): + self.printStatus() + self._positionTimerRunning = self.status == 'playing' + return self._positionTimerRunning + + def refreshPosition(self): + try: + time_us = self._getProperty('org.mpris.MediaPlayer2.Player', 'Position') + except dbus.exceptions.DBusException: + time_us = 0 + + self._timeAtLastUpdate = time.time() + self._positionAtLastUpdate = time_us / 1000000 + + def _getPosition(self): + if self.status == 'playing': + return self._positionAtLastUpdate + self._rate * (time.time() - self._timeAtLastUpdate) + else: + return self._positionAtLastUpdate + + def _statusReplace(self, match, metadata): + tag = match.group('tag') + format = match.group('format') + formatlen = match.group('formatlen') + text = match.group('text') + tag_found = False + reversed_tag = False + + if tag.startswith('-'): + tag = tag[1:] + reversed_tag = True + + if format is None: + tag_is_format_match = re.match(FORMAT_TAG_REGEX, tag) + if tag_is_format_match: + format = tag_is_format_match.group('format') + formatlen = tag_is_format_match.group('formatlen') + tag_found = True + if format is not None: + text = text.format_map(CleanSafeDict(**metadata)) + if format == 'w': + formatlen = int(formatlen) + text = text[:formatlen] + elif format == 't': + formatlen = int(formatlen) + if len(text) > formatlen: + text = text[:max(formatlen - len(TRUNCATE_STRING), 0)] + TRUNCATE_STRING + if tag_found is False and tag in metadata and len(metadata[tag]): + tag_found = True + + if reversed_tag: + tag_found = not tag_found + + if tag_found: + return text + else: + return '' + + def printStatus(self): + if self.status in [ 'playing', 'paused' ]: + metadata = { **self.metadata, 'icon': self.icon, 'icon-reversed': self.icon_reversed } + if NEEDS_POSITION: + metadata['position'] = time.strftime("%M:%S", time.gmtime(self._getPosition())) + # replace metadata tags in text + text = re.sub(FORMAT_REGEX, lambda match: self._statusReplace(match, metadata), FORMAT_STRING) + # restore polybar tag formatting and replace any remaining metadata tags after that + try: + text = re.sub(r'􏿿p􏿿(.*?)􏿿p􏿿(.*?)􏿿p􏿿(.*?)􏿿p􏿿', r'%{\1}\2%{\3}', text.format_map(CleanSafeDict(**metadata))) + except: + print("Invalid format string") + self._print(text) + else: + self._print(ICON_STOPPED) + + +def _dbusValueToPython(value): + if isinstance(value, dbus.Dictionary): + return {_dbusValueToPython(key): _dbusValueToPython(value) for key, value in value.items()} + elif isinstance(value, dbus.Array): + return [ _dbusValueToPython(item) for item in value ] + elif isinstance(value, dbus.Boolean): + return int(value) == 1 + elif ( + isinstance(value, dbus.Byte) or + isinstance(value, dbus.Int16) or + isinstance(value, dbus.UInt16) or + isinstance(value, dbus.Int32) or + isinstance(value, dbus.UInt32) or + isinstance(value, dbus.Int64) or + isinstance(value, dbus.UInt64) + ): + return int(value) + elif isinstance(value, dbus.Double): + return float(value) + elif ( + isinstance(value, dbus.ObjectPath) or + isinstance(value, dbus.Signature) or + isinstance(value, dbus.String) + ): + return unquote(str(value)) + +def _getProperty(properties, property, default = None): + value = default + if not isinstance(property, dbus.String): + property = dbus.String(property) + if property in properties: + value = properties[property] + return _dbusValueToPython(value) + else: + return value + +def _getDuration(t: int): + seconds = t / 1000000 + return time.strftime("%M:%S", time.gmtime(seconds)) + +def _firstIfList(_value): + return _value[0] if type(_value) is list and len(_value) else _value + +class CleanSafeDict(dict): + def __missing__(self, key): + return '{{{}}}'.format(key) + + +""" +Seems to assure print() actually prints when no terminal is connected +""" + +_last_status = '' +def _printFlush(status, **kwargs): + global _last_status + if status != _last_status: + print(status, **kwargs) + sys.stdout.flush() + _last_status = status + + + +parser = argparse.ArgumentParser() +parser.add_argument('command', help="send the given command to the active player", + choices=[ 'play', 'pause', 'play-pause', 'stop', 'previous', 'next', 'status', 'list', 'current', 'metadata', 'raise' ], + default=None, + nargs='?') +parser.add_argument('-b', '--blacklist', help="ignore a player by it's bus name. Can be be given multiple times (e.g. -b vlc -b audacious)", + action='append', + metavar="BUS_NAME", + default=[]) +parser.add_argument('-f', '--format', default='{icon} {:artist:{artist} - :}{:title:{title}:}{:-title:{filename}:}') +parser.add_argument('--truncate-text', default='…') +parser.add_argument('--icon-playing', default='⏵') +parser.add_argument('--icon-paused', default='⏸') +#parser.add_argument('--icon-stopped', default='⏹') +parser.add_argument('--icon-stopped', default='') # show no icon if stopped +parser.add_argument('--icon-none', default='') +args = parser.parse_args() + +FORMAT_STRING = re.sub(r'%\{(.*?)\}(.*?)%\{(.*?)\}', r'􏿿p􏿿\1􏿿p􏿿\2􏿿p􏿿\3􏿿p􏿿', args.format) +NEEDS_POSITION = "{position}" in FORMAT_STRING + +TRUNCATE_STRING = args.truncate_text +ICON_PLAYING = args.icon_playing +ICON_PAUSED = args.icon_paused +ICON_STOPPED = args.icon_stopped +ICON_NONE = args.icon_none + +if args.command is None: + PlayerManager(blacklist = args.blacklist) +else: + player_manager = PlayerManager(blacklist = args.blacklist, connect = False) + current_player = player_manager.getCurrentPlayer() + if args.command == 'play' and current_player: + current_player.play() + elif args.command == 'pause' and current_player: + current_player.pause() + elif args.command == 'play-pause' and current_player: + current_player.playpause() + elif args.command == 'stop' and current_player: + current_player.stop() + elif args.command == 'previous' and current_player: + current_player.previous() + elif args.command == 'next' and current_player: + current_player.next() + elif args.command == 'status' and current_player: + current_player.printStatus() + elif args.command == 'list': + print("\n".join(sorted([ + "{} : {}".format(player.bus_name.split('.')[3], player.status) + for player in player_manager.players.values() ]))) + elif args.command == 'current' and current_player: + print("{} : {}".format(current_player.bus_name.split('.')[3], current_player.status)) + elif args.command == 'metadata' and current_player: + print(_dbusValueToPython(current_player._metadata)) + elif args.command == 'raise' and current_player: + current_player.raisePlayer() From 61f2cd27a852ea5bc8af6ef50b7a9c5d44a6e304 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 16:49:18 +0200 Subject: [PATCH 155/183] Add templates and thunar config --- nixos-config/home-manager.nix | 12 ++ .../home-manager/config/Thunar/accels.scm | 132 ++++++++++++++++++ .../home-manager/config/Thunar/uca.xml | 59 ++++++++ .../config/Vorlagen/Drawio Diagramm.drawio | 1 + .../config/Vorlagen/Libreoffice Calc.ods | Bin 0 -> 7574 bytes .../config/Vorlagen/Libreoffice Impress.odp | Bin 0 -> 13732 bytes .../config/Vorlagen/Libreoffice Writer.odt | Bin 0 -> 9082 bytes .../home-manager/config/Vorlagen/Markdown.md | 3 + .../config/Vorlagen/Microsoft Excel.xlsx | Bin 0 -> 8048 bytes .../config/Vorlagen/Microsoft PowerPoint.pptx | Bin 0 -> 36621 bytes .../config/Vorlagen/Microsoft Word.docx | Bin 0 -> 10999 bytes 11 files changed, 207 insertions(+) create mode 100644 nixos-config/home-manager/config/Thunar/accels.scm create mode 100644 nixos-config/home-manager/config/Thunar/uca.xml create mode 100644 nixos-config/home-manager/config/Vorlagen/Drawio Diagramm.drawio create mode 100644 nixos-config/home-manager/config/Vorlagen/Libreoffice Calc.ods create mode 100644 nixos-config/home-manager/config/Vorlagen/Libreoffice Impress.odp create mode 100644 nixos-config/home-manager/config/Vorlagen/Libreoffice Writer.odt create mode 100644 nixos-config/home-manager/config/Vorlagen/Markdown.md create mode 100644 nixos-config/home-manager/config/Vorlagen/Microsoft Excel.xlsx create mode 100644 nixos-config/home-manager/config/Vorlagen/Microsoft PowerPoint.pptx create mode 100644 nixos-config/home-manager/config/Vorlagen/Microsoft Word.docx diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index d664300a..ebabde82 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -49,6 +49,7 @@ in #sweet # gtk theme waybar # status bar playerctl # mpris + xfce.thunar # file manager ]; imports = [ @@ -109,10 +110,21 @@ in }; home.file = { + # Scripts ".scripts/waybar/player-mpris-tail.py" = { source = ./home-manager/scripts/waybar/player-mpris-tail.py; executable = true; }; + # Thunar configuration + ".config/Thunar" = { + source = ./home-manager/config/Thunar; + #recursive = true; + }; + # templates + ".config/Vorlagen" = { + source = ./home-manager/config/Vorlagen; + #recursive = true; + }; }; services.mako.enable = true; diff --git a/nixos-config/home-manager/config/Thunar/accels.scm b/nixos-config/home-manager/config/Thunar/accels.scm new file mode 100644 index 00000000..5b69c38b --- /dev/null +++ b/nixos-config/home-manager/config/Thunar/accels.scm @@ -0,0 +1,132 @@ +; thunar GtkAccelMap rc-file -*- scheme -*- +; this file is an automated accelerator map dump +; +; (gtk_accel_path "/ThunarBookmarks/fab0a703c3165b9ea6d4a2e40b570272" "") +; (gtk_accel_path "/ThunarStandardView/sort-by-type" "") +; (gtk_accel_path "/ThunarBookmarks/134cf305a61c72f784680835c93c28fd" "") +; (gtk_accel_path "/ThunarStatusBar/toggle-last-modified" "") +; (gtk_accel_path "/ThunarActionManager/cut" "x") +; (gtk_accel_path "/ThunarStandardView/sort-by-size" "") +; (gtk_accel_path "/ThunarWindow/file-menu" "") +(gtk_accel_path "/ThunarWindow/close-tab" "q") +; (gtk_accel_path "/ThunarStatusBar/toggle-size" "") +(gtk_accel_path "/ThunarWindow/new-window" "") +; (gtk_accel_path "/ThunarWindow/clear-directory-specific-settings" "") +(gtk_accel_path "/ThunarWindow/close-window" "") +; (gtk_accel_path "/ThunarBookmarks/ac3bbb1429c4180d34b90e935eaeaa7b" "") +(gtk_accel_path "/ThunarWindow/open-parent" "") +; (gtk_accel_path "/ThunarWindow/view-side-pane-menu" "") +; (gtk_accel_path "/ThunarStatusBar/toggle-size-in-bytes" "") +; (gtk_accel_path "/ThunarWindow/switch-previous-tab" "Page_Up") +; (gtk_accel_path "/ThunarBookmarks/3cb76eced52269e016bf542f6d20d431" "") +(gtk_accel_path "/ThunarActionManager/open" "") +; (gtk_accel_path "/ThunarStandardView/sort-ascending" "") +; (gtk_accel_path "/ThunarWindow/toggle-split-view" "F3") +; (gtk_accel_path "/ThunarActionManager/copy-2" "Insert") +; (gtk_accel_path "/ThunarActionManager/trash-delete" "Delete") +; (gtk_accel_path "/ThunarWindow/open-recent" "") +; (gtk_accel_path "/ThunarWindow/view-configure-toolbar" "") +; (gtk_accel_path "/ThunarStandardView/forward" "Right") +; (gtk_accel_path "/ThunarBookmarks/9f9804d3a8acb92d2796c0e9ee791891" "") +; (gtk_accel_path "/ThunarActionManager/restore" "") +(gtk_accel_path "/ThunarWindow/open-location-alt" "") +; (gtk_accel_path "/ThunarBookmarks/0d63283611773acfd219c84ae028d009" "") +(gtk_accel_path "/ThunarStandardView/select-by-pattern" "") +; (gtk_accel_path "/ThunarWindow/zoom-out-alt" "minus") +; (gtk_accel_path "/ThunarWindow/open-file-menu" "F10") +(gtk_accel_path "/ThunarWindow/contents" "") +; (gtk_accel_path "/ThunarWindow/show-highlight" "") +; (gtk_accel_path "/ThunarStandardView/sort-descending" "") +; (gtk_accel_path "/ThunarStandardView/sort-by-name" "") +; (gtk_accel_path "/ThunarStandardView/select-all-files" "a") +; (gtk_accel_path "/ThunarActionManager/execute" "") +(gtk_accel_path "/ThunarStandardView/properties" "") +; (gtk_accel_path "/ThunarActionManager/cut-2" "") +; (gtk_accel_path "/ThunarStandardView/sort-by-dtime" "") +; (gtk_accel_path "/ThunarWindow/switch-next-tab" "Page_Down") +; (gtk_accel_path "/ThunarActionManager/paste-2" "Insert") +; (gtk_accel_path "/ThunarWindow/open-templates" "") +; (gtk_accel_path "/ThunarStatusBar/toggle-filetype" "") +(gtk_accel_path "/ThunarWindow/close-all-windows" "") +; (gtk_accel_path "/ThunarStandardView/create-document" "") +; (gtk_accel_path "/ThunarWindow/detach-tab" "") +; (gtk_accel_path "/ThunarBookmarks/310a68ed4e8d7e3153dbac6fd6f8509e" "") +; (gtk_accel_path "/ThunarWindow/cancel-search" "Escape") +; (gtk_accel_path "/ThunarWindow/zoom-in-alt2" "equal") +(gtk_accel_path "/ThunarShortcutsPane/sendto-shortcuts" "") +; (gtk_accel_path "/ThunarActionManager/undo" "z") +; (gtk_accel_path "/ThunarWindow/reload-alt" "F5") +(gtk_accel_path "/ThunarActions/uca-action-1666515885637912-1" "Return") +; (gtk_accel_path "/ThunarStandardView/toggle-sort-order" "") +; (gtk_accel_path "/ThunarWindow/view-location-selector-entry" "") +; (gtk_accel_path "/ThunarActionManager/paste" "v") +; (gtk_accel_path "/ThunarWindow/zoom-in-alt1" "plus") +(gtk_accel_path "/ThunarWindow/view-menubar" "") +; (gtk_accel_path "/ThunarStandardView/back" "Left") +; (gtk_accel_path "/ThunarWindow/open-desktop" "") +(gtk_accel_path "/ThunarWindow/view-as-detailed-list" "") +; (gtk_accel_path "/ThunarActionManager/restore-show" "") +; (gtk_accel_path "/ThunarStatusBar/toggle-display-name" "") +; (gtk_accel_path "/ThunarWindow/zoom-out" "KP_Subtract") +; (gtk_accel_path "/ThunarBookmarks/d560a9adc56f1eaa2739d7e989051c36" "") +; (gtk_accel_path "/ThunarWindow/sendto-menu" "") +; (gtk_accel_path "/ThunarWindow/go-menu" "") +; (gtk_accel_path "/ThunarWindow/remove-from-recent" "") +; (gtk_accel_path "/ThunarActionManager/open-with-other" "") +(gtk_accel_path "/ThunarStandardView/invert-selection" "i") +(gtk_accel_path "/ThunarWindow/view-side-pane-shortcuts" "") +; (gtk_accel_path "/ThunarWindow/view-location-selector-menu" "") +; (gtk_accel_path "/ThunarStandardView/sort-by-mtime" "") +; (gtk_accel_path "/ThunarWindow/edit-menu" "") +; (gtk_accel_path "/ThunarWindow/reload" "r") +; (gtk_accel_path "/ThunarActionManager/copy" "c") +; (gtk_accel_path "/ThunarActionManager/move-to-trash" "") +; (gtk_accel_path "/ThunarStandardView/unselect-all-files" "Escape") +; (gtk_accel_path "/ThunarActionManager/delete-3" "KP_Delete") +(gtk_accel_path "/ThunarWindow/toggle-side-pane" "") +; (gtk_accel_path "/ThunarBookmarks/bd09eece7395e751859c8153dca05324" "") +; (gtk_accel_path "/ThunarStandardView/arrange-items-menu" "") +; (gtk_accel_path "/ThunarBookmarks/ef49cad9a2b186bac59b8de045e0f5d4" "") +; (gtk_accel_path "/ThunarWindow/open-computer" "") +; (gtk_accel_path "/ThunarWindow/bookmarks-menu" "") +; (gtk_accel_path "/ThunarWindow/toggle-image-preview" "") +(gtk_accel_path "/ThunarWindow/view-as-icons" "") +; (gtk_accel_path "/ThunarActionManager/delete-2" "Delete") +; (gtk_accel_path "/ThunarWindow/zoom-in" "KP_Add") +; (gtk_accel_path "/ThunarStandardView/configure-columns" "") +; (gtk_accel_path "/ThunarStandardView/rename" "F2") +; (gtk_accel_path "/ThunarWindow/open-location" "l") +(gtk_accel_path "/ThunarWindow/view-as-compact-list" "") +; (gtk_accel_path "/ThunarWindow/view-menu" "") +; (gtk_accel_path "/ThunarWindow/search" "f") +; (gtk_accel_path "/ThunarWindow/new-tab" "t") +; (gtk_accel_path "/ThunarWindow/zoom-reset" "KP_0") +; (gtk_accel_path "/ThunarWindow/contents/help-menu" "") +(gtk_accel_path "/ThunarActionManager/open-in-new-tab" "") +; (gtk_accel_path "/ThunarWindow/view-location-selector-buttons" "") +; (gtk_accel_path "/ThunarActionManager/redo" "z") +; (gtk_accel_path "/ThunarWindow/open-trash" "") +; (gtk_accel_path "/ThunarBookmarks/7d2c0d8f2cb46dda0c77c334948613d9" "") +(gtk_accel_path "/ThunarActionManager/open-in-new-window" "") +; (gtk_accel_path "/ThunarWindow/view-statusbar" "") +; (gtk_accel_path "/ThunarBookmarks/356c14bf86880b16a82a896aac1ea75d" "") +; (gtk_accel_path "/ThunarActionManager/open-location" "") +; (gtk_accel_path "/ThunarStandardView/duplicate" "") +; (gtk_accel_path "/ThunarActionManager/trash-delete-2" "KP_Delete") +; (gtk_accel_path "/ThunarBookmarks/efbd1f6870be1a5a9ee9ba157935b388" "") +(gtk_accel_path "/ThunarActions/uca-action-1666516933235505-2" "f") +; (gtk_accel_path "/ThunarStandardView/create-folder" "n") +(gtk_accel_path "/ThunarWindow/open-home" "") +(gtk_accel_path "/ThunarWindow/show-hidden" "") +; (gtk_accel_path "/ThunarStandardView/set-default-app" "") +; (gtk_accel_path "/ThunarWindow/empty-trash" "") +; (gtk_accel_path "/ThunarStandardView/back-alt" "BackSpace") +; (gtk_accel_path "/ThunarWindow/preferences" "") +; (gtk_accel_path "/ThunarActionManager/delete" "") +(gtk_accel_path "/ThunarWindow/view-side-pane-tree" "") +; (gtk_accel_path "/ThunarWindow/open-file-system" "") +; (gtk_accel_path "/ThunarWindow/open-network" "") +; (gtk_accel_path "/ThunarActionManager/sendto-desktop" "") +; (gtk_accel_path "/ThunarStandardView/make-link" "") +; (gtk_accel_path "/ThunarWindow/zoom-reset-alt" "0") +; (gtk_accel_path "/ThunarWindow/about" "") diff --git a/nixos-config/home-manager/config/Thunar/uca.xml b/nixos-config/home-manager/config/Thunar/uca.xml new file mode 100644 index 00000000..5d38c9f7 --- /dev/null +++ b/nixos-config/home-manager/config/Thunar/uca.xml @@ -0,0 +1,59 @@ + + + + folder + Als root öffnen + + 1673031093097554-1 + gksu thunar %f + Verzeichnis als root-Nutzer öffnen + * + * + + + + utilities-terminal + Terminal öffnen + + 1666515885637912-1 + for f in %F; do if [ -d "$f" ]; then kitty "$f"; elif [ -z "$default" ]; then default=1; kitty; fi done + Terminal im gewählten Ordner öffnen + + * + + + + + + + + + + preferences-system-search + Suchen + + 1666516933235505-2 + catfish --path=%f + Dateien und Ordner suchen + + * + + + + + link + Symlink erstellen + + 1676990164646243-1 + ln -Ts %f %n" (symlink)" + Symbolischen Link erstellen + * + * + + + + + + + + diff --git a/nixos-config/home-manager/config/Vorlagen/Drawio Diagramm.drawio b/nixos-config/home-manager/config/Vorlagen/Drawio Diagramm.drawio new file mode 100644 index 00000000..b5654ddf --- /dev/null +++ b/nixos-config/home-manager/config/Vorlagen/Drawio Diagramm.drawio @@ -0,0 +1 @@ +dZFND8IgDIZ/DfcBRvE8vy6edvBMRh0kbF0YZtNf7xaYk0xPlOd9S2lLeF4PZydbfUUFlrBMDYQfCGN0Q8V4TOQZiBA0gMoZFU0LKMwLIswifRgFXWL0iNabNoUlNg2UPmHSOexT2x1tWrWVFaxAUUq7pjejvI6UbveLcAFT6VhasF0QajmbYyedlgr7L8SPhOcO0YeoHnKw0/DmuYS80x/18zEHjf+RMAbL2+Ml2RA/vgE= \ No newline at end of file diff --git a/nixos-config/home-manager/config/Vorlagen/Libreoffice Calc.ods b/nixos-config/home-manager/config/Vorlagen/Libreoffice Calc.ods new file mode 100644 index 0000000000000000000000000000000000000000..f6e75a90768578aeb44622cb98586bfac48a5ea5 GIT binary patch literal 7574 zcmb7J2UrtZw++1`AYDLEx^$2xNbe;eU21^PNq{7PNRy60=+Xq~RjLqCiXcs+2qJLl zh&1Wai^& z2tA-42#<5ue~6Lk7k(f+JFpuVGf?P1#rdlq&!3402m*HdmpyuTK^?uoFxbBzBMc6L zBmNJ+%fA?-vpdKU3=>pzhP#72VE-E~AtB+P%L#M;Uq*^)xq~3i4qzBuz{}pDH@O!Q zDnt>sArlUMHzF^Hhv&tOe&+J1?RtbMp5Rs{)l@4o*;v1@eEHGfY?Z3$G_pQx4aD>+ zrmnQzP|S{p1Fi1VuyjqjN#I%0xb)Zv>e}T@=1rH-qDQ>XeIUG2)(^t@B}m=+p5$}; zW^T&>o3FGFNqVZ2cGn{biCE$kopDNA zqF58}$;T0Cqr>2#OwV<-xr1ugt$pgTY55SEFJtrN8nSO>DvGpt-s)pZ&ALVC zw129T-@2V2;zQTw^wkubha&61<)#~V&K6Gv`py_WRo8nfyUD*Ra6C#_tlzq9q*kq` zML<};?=*mi1ptKN0094a2Y&VV{(Kw3aFBqnyIY)rPJEUSb@RRn>vNOY3rQ4wFEwR% z>Tg}Up1Ma%`IR5BGLq>2U}u_+l)cHFoQ7`7ccCRCvW!KLE4w*l8=YyXDVoG-6PAju zZ`%2KDmqpizZ;2eZRWfh2#MAoPmbZmIX4+Vu6e7u6JB1rxjU33x z@O-c&?;Gz0J<*(^Aa`^O3L#Y5iUej4Q1OdGPI!3^dKrtND)$SSDr>L2d1GXjU@QBI zc5IHIkhr5uu@3g$^#lRjhQhXk$fsR9p?U3p>cR)@vp;Q{3O0dD;ur+OZ z;~d>wKqX!5+jLoEJCwWX+VT4A$GdWhCj{pc>RLpinT459)qk8&V$AyhgWquj!_KF4 z^0qm2T%0;^x|+h!W+eD^(rRH$OJ_T(ekEA^f=;9?t(eN2PHuhHCCR1g%hh%3i61(b z7I1YC2iaexnqM!b`7mrkC}-0b=mKS;{V&WXa7qFNk6+wuA$xcHX5MEJ-qKCMPeuHc z0j<*3C95!z{8q}En$%MRSMkkAoxcKBkAGq)>1KE^$?e>UT7fYclFH$Jwnb6T8E6oKeJ3kCRFI9!KMdNIr;&lu`jL z#L}JIm_jNM99{d)$zzBlFbg@K+7B3boRDZrX-JbKRCDQ?3J8oYU**-a8>K;^wRpmD z?#U9dvDUzihh94Q&@|?`NR+zt)X2YW7iDiVwInt-La2G10!`ezwhv_n3&@`r+oeu; zQayGC5*NWjTQe4^Dj#+8qWI0OrJISg+Bj%b-fna8r@G#V&W1jru`NL0V2vSaST-8x zvL3|oUh}kG;^SW|y*{}Ronaj-1~*}i7@}a!bk|Srzu)b#wUCEzl!ZuOLn?-Q9;9#( zEtRYA_|c;8XmoQob~){%Jt>X|CEODY*$0Uu9Ar5=^OSKv8~4V5fi}t(0jX06-XgJA zzQM53r}d_WjTLB7R&m*0U)sQg(4$8eHum{n*VS_5*EAf`i&(_wkdZwXhq);aXYh-{ zO7*9oV3qL|iv}$jzq_7VvA`%#%}z+wDkDLrmn6IW`0evA)%0D_J~&?MmU-q0q0~aF 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 literal 0 HcmV?d00001 diff --git a/nixos-config/home-manager/config/Vorlagen/Libreoffice Impress.odp b/nixos-config/home-manager/config/Vorlagen/Libreoffice Impress.odp new file mode 100644 index 0000000000000000000000000000000000000000..904301bf64f5fbe3ed6a7c044439e5380bd701ad GIT binary patch literal 13732 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 literal 0 HcmV?d00001 diff --git a/nixos-config/home-manager/config/Vorlagen/Libreoffice Writer.odt b/nixos-config/home-manager/config/Vorlagen/Libreoffice Writer.odt new file mode 100644 index 0000000000000000000000000000000000000000..2494330becaa36be4c70eced2ffdba3469c83e72 GIT binary patch literal 9082 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 literal 0 HcmV?d00001 diff --git a/nixos-config/home-manager/config/Vorlagen/Markdown.md b/nixos-config/home-manager/config/Vorlagen/Markdown.md new file mode 100644 index 00000000..67bff78f --- /dev/null +++ b/nixos-config/home-manager/config/Vorlagen/Markdown.md @@ -0,0 +1,3 @@ + + +# Document Title diff --git a/nixos-config/home-manager/config/Vorlagen/Microsoft Excel.xlsx b/nixos-config/home-manager/config/Vorlagen/Microsoft Excel.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..22866fb6bffc39a5e2d846f9db7908007a385057 GIT binary patch literal 8048 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 literal 0 HcmV?d00001 diff --git a/nixos-config/home-manager/config/Vorlagen/Microsoft PowerPoint.pptx b/nixos-config/home-manager/config/Vorlagen/Microsoft PowerPoint.pptx new file mode 100644 index 0000000000000000000000000000000000000000..0dbcbfa19316c3e83bdfe7eb4c013f7b25531a1b GIT binary patch literal 36621 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%0DeC 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 literal 0 HcmV?d00001 diff --git a/nixos-config/home-manager/config/Vorlagen/Microsoft Word.docx b/nixos-config/home-manager/config/Vorlagen/Microsoft Word.docx new file mode 100644 index 0000000000000000000000000000000000000000..7d3f4fdaf8318b141c80f644ad21ce837c70965f GIT binary patch literal 10999 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 literal 0 HcmV?d00001 From 467f808842bf4cecbc32cbcfefb20ff196c9544e Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 17:01:50 +0200 Subject: [PATCH 156/183] Add thunar archiver --- nixos-config/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index ebabde82..1145e3f0 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -50,6 +50,7 @@ in waybar # status bar playerctl # mpris xfce.thunar # file manager + xfce.thunar-archive-plugin # manage archives in thunar ]; imports = [ From 7d0e608b0a5dcabb2d9f7a20478cb2b12f9bea4b Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 17:19:55 +0200 Subject: [PATCH 157/183] Use recursive for directories --- nixos-config/home-manager.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 1145e3f0..3154dea3 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -119,12 +119,12 @@ in # Thunar configuration ".config/Thunar" = { source = ./home-manager/config/Thunar; - #recursive = true; + recursive = true; }; # templates ".config/Vorlagen" = { source = ./home-manager/config/Vorlagen; - #recursive = true; + recursive = true; }; }; From f6eaf7b6b4cc5c2d80616435c8ecea8915239fd8 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 17:22:30 +0200 Subject: [PATCH 158/183] Add slash after --- nixos-config/home-manager.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 3154dea3..7329c0d5 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -117,12 +117,12 @@ in executable = true; }; # Thunar configuration - ".config/Thunar" = { + ".config/Thunar/" = { source = ./home-manager/config/Thunar; recursive = true; }; # templates - ".config/Vorlagen" = { + ".config/Vorlagen/" = { source = ./home-manager/config/Vorlagen; recursive = true; }; From 37b20235aed7a274061cce784e0a59cea0f21d7f Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 17:26:11 +0200 Subject: [PATCH 159/183] Add xdg user dir definitions --- nixos-config/home-manager.nix | 4 ++++ nixos-config/home-manager/config/user-dirs.dirs | 15 +++++++++++++++ nixos-config/home-manager/config/user-dirs.locale | 1 + 3 files changed, 20 insertions(+) create mode 100644 nixos-config/home-manager/config/user-dirs.dirs create mode 100644 nixos-config/home-manager/config/user-dirs.locale diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 7329c0d5..851b6bb0 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -126,6 +126,10 @@ in source = ./home-manager/config/Vorlagen; recursive = true; }; + # xdg user dirs + ".config/user-dirs.dirs".source = ./home-manager/config/user-dirs.dirs; + # xdg user locales + ".config/user-dirs.locale".source = ./home-manager/config/user-dirs.locale; }; services.mako.enable = true; diff --git a/nixos-config/home-manager/config/user-dirs.dirs b/nixos-config/home-manager/config/user-dirs.dirs new file mode 100644 index 00000000..51849c9e --- /dev/null +++ b/nixos-config/home-manager/config/user-dirs.dirs @@ -0,0 +1,15 @@ +# This file is written by xdg-user-dirs-update +# If you want to change or add directories, just edit the line you're +# interested in. All local changes will be retained on the next run. +# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped +# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an +# absolute path. No other format is supported. +# +XDG_DESKTOP_DIR="$HOME/Schreibtisch" +XDG_DOWNLOAD_DIR="$HOME/Downloads" +XDG_TEMPLATES_DIR="$HOME/.config/Vorlagen" +XDG_PUBLICSHARE_DIR="$HOME/Öffentlich" +XDG_DOCUMENTS_DIR="$HOME/Dokumente" +XDG_MUSIC_DIR="$HOME/Musik" +XDG_PICTURES_DIR="$HOME/Bilder" +XDG_VIDEOS_DIR="$HOME/Videos" diff --git a/nixos-config/home-manager/config/user-dirs.locale b/nixos-config/home-manager/config/user-dirs.locale new file mode 100644 index 00000000..4dd13ef0 --- /dev/null +++ b/nixos-config/home-manager/config/user-dirs.locale @@ -0,0 +1 @@ +de_CH \ No newline at end of file From f8a8312ca7e960283b4df76d8f597940ba147fdd Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 17:31:38 +0200 Subject: [PATCH 160/183] Add xdg-user-dirs package --- nixos-config/system-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/system-packages.nix b/nixos-config/system-packages.nix index 5e685e7b..9277c341 100644 --- a/nixos-config/system-packages.nix +++ b/nixos-config/system-packages.nix @@ -12,6 +12,7 @@ #hyprland # window manager wayland # wayland server xdg-utils # xdg directories, open, etc + xdg-user-dirs # directories sweet # gtk theme capitaine-cursors # cursor theme xfce.tumbler # image files thumbnail generator (+ base requirement) From d48efdd71ca9ec7634a3388cdec7c37cb73492b2 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 17:37:06 +0200 Subject: [PATCH 161/183] Add gvfs package --- nixos-config/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 851b6bb0..db45ac1a 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -45,6 +45,7 @@ in mako # notification daemon xdg-desktop-portal-hyprland # desktop portal (hyprland fork) #neovim # text editor + gvfs # virtual file system support yt-dlp # video downloader #sweet # gtk theme waybar # status bar From ccd10ae79414b7ba8c1248c887266e43ce18489a Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 17:40:23 +0200 Subject: [PATCH 162/183] Move gvfs to system packages --- nixos-config/home-manager.nix | 1 - nixos-config/system-packages.nix | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index db45ac1a..851b6bb0 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -45,7 +45,6 @@ in mako # notification daemon xdg-desktop-portal-hyprland # desktop portal (hyprland fork) #neovim # text editor - gvfs # virtual file system support yt-dlp # video downloader #sweet # gtk theme waybar # status bar diff --git a/nixos-config/system-packages.nix b/nixos-config/system-packages.nix index 9277c341..e563bf81 100644 --- a/nixos-config/system-packages.nix +++ b/nixos-config/system-packages.nix @@ -9,6 +9,7 @@ fwupd # firmware updates fwupd-efi # firmware updates additional EFI stuff wget # get stuff from the net + gvfs # virtual file system support #hyprland # window manager wayland # wayland server xdg-utils # xdg directories, open, etc From 54e23f028698098c0abed2bb801534761d509ab1 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 17:44:30 +0200 Subject: [PATCH 163/183] Enable gvfs service --- nixos-config/configuration.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index 755a254a..b0514a49 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -86,6 +86,9 @@ in }; }; + # enable gvfs service + services.gvfs.enable = true; + # Hyprland security.polkit.enable = true; programs.hyprland = { From c3b90469708d4550ac5000215d9b9084f560af34 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 18:25:59 +0200 Subject: [PATCH 164/183] Add xfce4 settings. Use symlinks for full directories --- nixos-config/home-manager.nix | 10 ++-- .../xfce4/xfce-perchannel-xml/thunar.xml | 57 +++++++++++++++++++ 2 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 nixos-config/home-manager/config/xfce4/xfce-perchannel-xml/thunar.xml diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 851b6bb0..d41d2eb4 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -117,15 +117,17 @@ in executable = true; }; # Thunar configuration - ".config/Thunar/" = { + ".config/Thunar" = { source = ./home-manager/config/Thunar; - recursive = true; + #recursive = true; }; # templates - ".config/Vorlagen/" = { + ".config/Vorlagen" = { source = ./home-manager/config/Vorlagen; - recursive = true; + #recursive = true; }; + # xfce4 settings + ".config/xfce4".source = ./home-manager/config/xfce4; # xdg user dirs ".config/user-dirs.dirs".source = ./home-manager/config/user-dirs.dirs; # xdg user locales diff --git a/nixos-config/home-manager/config/xfce4/xfce-perchannel-xml/thunar.xml b/nixos-config/home-manager/config/xfce4/xfce-perchannel-xml/thunar.xml new file mode 100644 index 00000000..bf97961b --- /dev/null +++ b/nixos-config/home-manager/config/xfce4/xfce-perchannel-xml/thunar.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 76696d8d680f242258989421a130c5ad999be61b Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 18:33:58 +0200 Subject: [PATCH 165/183] Add xfce settings manager --- nixos-config/home-manager.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index d41d2eb4..ca7b618e 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -51,6 +51,7 @@ in playerctl # mpris xfce.thunar # file manager xfce.thunar-archive-plugin # manage archives in thunar + xfce.xfce4-settings # xfce settings manager ]; imports = [ From 3c7a4ea94ea502eadae62e1c303fec49ee3cc440 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 18:38:22 +0200 Subject: [PATCH 166/183] Fix xfce4 settings path --- nixos-config/home-manager.nix | 2 +- .../config/xfce4/{ => xfconf}/xfce-perchannel-xml/thunar.xml | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename nixos-config/home-manager/config/xfce4/{ => xfconf}/xfce-perchannel-xml/thunar.xml (100%) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index ca7b618e..f050b0b1 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -51,7 +51,7 @@ in playerctl # mpris xfce.thunar # file manager xfce.thunar-archive-plugin # manage archives in thunar - xfce.xfce4-settings # xfce settings manager + #xfce.xfce4-settings # xfce settings manager ]; imports = [ diff --git a/nixos-config/home-manager/config/xfce4/xfce-perchannel-xml/thunar.xml b/nixos-config/home-manager/config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml similarity index 100% rename from nixos-config/home-manager/config/xfce4/xfce-perchannel-xml/thunar.xml rename to nixos-config/home-manager/config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml From 3de81952634ada6e20d31d66cda9d585daa244e6 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 18:46:36 +0200 Subject: [PATCH 167/183] Add xfce4-settings and xfconf --- nixos-config/home-manager.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index f050b0b1..a0a3cc0b 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -51,7 +51,8 @@ in playerctl # mpris xfce.thunar # file manager xfce.thunar-archive-plugin # manage archives in thunar - #xfce.xfce4-settings # xfce settings manager + xfce.xfce4-settings # xfce settings manager + xfce.xfconf # xfce config storage ]; imports = [ From e8a7350f3c218cbf5516b777c4aad009f5d6ff87 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 18:50:22 +0200 Subject: [PATCH 168/183] Try without this config --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index a0a3cc0b..23eff496 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -129,7 +129,7 @@ in #recursive = true; }; # xfce4 settings - ".config/xfce4".source = ./home-manager/config/xfce4; + #".config/xfce4".source = ./home-manager/config/xfce4; # xdg user dirs ".config/user-dirs.dirs".source = ./home-manager/config/user-dirs.dirs; # xdg user locales From 96b08fa938f50c9011e84c2b8d923f709a0fdd11 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 18:52:16 +0200 Subject: [PATCH 169/183] disable settings manager --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 23eff496..9f5ada43 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -51,7 +51,7 @@ in playerctl # mpris xfce.thunar # file manager xfce.thunar-archive-plugin # manage archives in thunar - xfce.xfce4-settings # xfce settings manager + #xfce.xfce4-settings # xfce settings manager xfce.xfconf # xfce config storage ]; From 6b215ce5e04266c0e0f148e7dbe1150128677ae6 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Tue, 2 May 2023 18:52:24 +0200 Subject: [PATCH 170/183] Config is definitely required --- nixos-config/home-manager.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 9f5ada43..bdc8f342 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -129,7 +129,7 @@ in #recursive = true; }; # xfce4 settings - #".config/xfce4".source = ./home-manager/config/xfce4; + ".config/xfce4".source = ./home-manager/config/xfce4; # xdg user dirs ".config/user-dirs.dirs".source = ./home-manager/config/user-dirs.dirs; # xdg user locales From 3b2f6e5988fa1531155b99929aa3e46bd6c6711c Mon Sep 17 00:00:00 2001 From: RealStickman Date: Wed, 3 May 2023 19:55:25 +0200 Subject: [PATCH 171/183] Add margins to every element --- nixos-config/home-manager/config/waybar/style.css | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nixos-config/home-manager/config/waybar/style.css b/nixos-config/home-manager/config/waybar/style.css index a0423126..a831daf3 100644 --- a/nixos-config/home-manager/config/waybar/style.css +++ b/nixos-config/home-manager/config/waybar/style.css @@ -2,6 +2,8 @@ /* `otf-font-awesome` is required to be installed for icons */ font-family: FontAwesome, Fira Sans, sans-serif; font-size: 12px; + margin-left: 5; + margin-right: 5; } window#waybar { From 7bdd121640fe9866328c14d46e75d3595d390e73 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Wed, 3 May 2023 19:57:55 +0200 Subject: [PATCH 172/183] Disable automatic updates --- nixos-config/configuration.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos-config/configuration.nix b/nixos-config/configuration.nix index b0514a49..c1725ef0 100644 --- a/nixos-config/configuration.nix +++ b/nixos-config/configuration.nix @@ -178,10 +178,10 @@ in swapDevices = [ { device = "/swap/swapfile"; } ]; # Enable automatic package upgrades - system.autoUpgrade = { - enable = true; - channel = "https://nixos.org/channels/nixos-unstable"; - }; + #system.autoUpgrade = { + # enable = true; + # channel = "https://nixos.org/channels/nixos-unstable"; + #}; # Enable automatic garbage collection nix = { From 11b65e6afd9ff504d1cdb9f8770a97ebf28eb9d1 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Wed, 3 May 2023 20:00:09 +0200 Subject: [PATCH 173/183] fix css --- nixos-config/home-manager/config/waybar/style.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/style.css b/nixos-config/home-manager/config/waybar/style.css index a831daf3..5b103cba 100644 --- a/nixos-config/home-manager/config/waybar/style.css +++ b/nixos-config/home-manager/config/waybar/style.css @@ -2,8 +2,8 @@ /* `otf-font-awesome` is required to be installed for icons */ font-family: FontAwesome, Fira Sans, sans-serif; font-size: 12px; - margin-left: 5; - margin-right: 5; + margin-left: 5px; + margin-right: 5px; } window#waybar { From b14e0f4bf758a7e2d34247ac910dd2f153a5f870 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Wed, 3 May 2023 20:02:27 +0200 Subject: [PATCH 174/183] Change to padding --- nixos-config/home-manager/config/waybar/style.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager/config/waybar/style.css b/nixos-config/home-manager/config/waybar/style.css index 5b103cba..c4d1784d 100644 --- a/nixos-config/home-manager/config/waybar/style.css +++ b/nixos-config/home-manager/config/waybar/style.css @@ -2,8 +2,8 @@ /* `otf-font-awesome` is required to be installed for icons */ font-family: FontAwesome, Fira Sans, sans-serif; font-size: 12px; - margin-left: 5px; - margin-right: 5px; + padding-left: 5px; + padding-right: 5px; } window#waybar { From 8617d1ba2597c1f88228a4a460b98b8146f8cd85 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Wed, 3 May 2023 20:23:43 +0200 Subject: [PATCH 175/183] Add power management submap --- .../home-manager/config/hypr/hyprland.conf | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/nixos-config/home-manager/config/hypr/hyprland.conf b/nixos-config/home-manager/config/hypr/hyprland.conf index 5a1f979e..940254a8 100644 --- a/nixos-config/home-manager/config/hypr/hyprland.conf +++ b/nixos-config/home-manager/config/hypr/hyprland.conf @@ -119,12 +119,33 @@ bind = CTRL_ALT, RETURN, exec, kitty # terminal bind = CTRL_ALT, A, exec, wofi --show drun # app launcher bind = CTRL_ALT, f, exec, firefox # browser bind = CTRL_ALT, e, exec, emacs # editor +bind = CTRL_ALT, t, exec, thunar # file manager bind = $mod, Q, killactive, # close window # logout bind = ALT_$mod, L, exit, + +# bind power management submap +bind = $mod, x, submap, powermgmt +# power management submap +submap=powermgmt + # logout + bind = , x, exit, + # lock + # TODO + # poweroff + bind = , s, poweroff, + # reboot + bind = , r, reboot, + + # use reset to go back to the global submap + bind=,escape,submap,reset + +# will reset the submap, meaning end the current one and return to the global one +submap=reset + #bind = $mod, Q, exec, kitty #bind = $mod, C, killactive, #bind = $mod, M, exit, From a4ea13a6a0800261f957e0a18158759a22b29de2 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Wed, 3 May 2023 20:25:51 +0200 Subject: [PATCH 176/183] use exec to poweroff/reboot --- nixos-config/home-manager/config/hypr/hyprland.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager/config/hypr/hyprland.conf b/nixos-config/home-manager/config/hypr/hyprland.conf index 940254a8..89183eb8 100644 --- a/nixos-config/home-manager/config/hypr/hyprland.conf +++ b/nixos-config/home-manager/config/hypr/hyprland.conf @@ -136,9 +136,9 @@ submap=powermgmt # lock # TODO # poweroff - bind = , s, poweroff, + bind = , s, exec, poweroff # reboot - bind = , r, reboot, + bind = , r, exec, reboot # use reset to go back to the global submap bind=,escape,submap,reset From cd2cc371254422d038f6ed1343f1885d3da188c4 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Wed, 3 May 2023 20:33:56 +0200 Subject: [PATCH 177/183] Test multi word submap names --- nixos-config/home-manager/config/hypr/hyprland.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager/config/hypr/hyprland.conf b/nixos-config/home-manager/config/hypr/hyprland.conf index 89183eb8..1aa33887 100644 --- a/nixos-config/home-manager/config/hypr/hyprland.conf +++ b/nixos-config/home-manager/config/hypr/hyprland.conf @@ -128,9 +128,9 @@ bind = ALT_$mod, L, exit, # bind power management submap -bind = $mod, x, submap, powermgmt +bind = $mod, x, submap, powermanagement test # power management submap -submap=powermgmt +submap = powermanagement test # logout bind = , x, exit, # lock From eca6b77614d804e3fef4fc96556a707316ed9188 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Wed, 3 May 2023 20:36:30 +0200 Subject: [PATCH 178/183] Test if this works --- nixos-config/home-manager/config/hypr/hyprland.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager/config/hypr/hyprland.conf b/nixos-config/home-manager/config/hypr/hyprland.conf index 1aa33887..0d580d80 100644 --- a/nixos-config/home-manager/config/hypr/hyprland.conf +++ b/nixos-config/home-manager/config/hypr/hyprland.conf @@ -128,9 +128,9 @@ bind = ALT_$mod, L, exit, # bind power management submap -bind = $mod, x, submap, powermanagement test +bind = $mod, x, submap, "(s) Shutdown, (r) Reboot, (x) Logout" # power management submap -submap = powermanagement test +submap = "(s) Shutdown, (r) Reboot, (x) Logout" # logout bind = , x, exit, # lock From cf13aafc4f139a7f75bf58e93d0a526810fdaec2 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Wed, 3 May 2023 20:38:26 +0200 Subject: [PATCH 179/183] This probably won't work --- nixos-config/home-manager/config/hypr/hyprland.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager/config/hypr/hyprland.conf b/nixos-config/home-manager/config/hypr/hyprland.conf index 0d580d80..93782774 100644 --- a/nixos-config/home-manager/config/hypr/hyprland.conf +++ b/nixos-config/home-manager/config/hypr/hyprland.conf @@ -128,9 +128,9 @@ bind = ALT_$mod, L, exit, # bind power management submap -bind = $mod, x, submap, "(s) Shutdown, (r) Reboot, (x) Logout" +bind = $mod, x, submap, (s) Shutdown, (r) Reboot, (x) Logout # power management submap -submap = "(s) Shutdown, (r) Reboot, (x) Logout" +submap = (s) Shutdown, (r) Reboot, (x) Logout # logout bind = , x, exit, # lock From 5845c6a071a915e5c67e449eca917a88bf68f224 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Wed, 3 May 2023 20:40:16 +0200 Subject: [PATCH 180/183] Surprisingly, "," in submap names works --- nixos-config/home-manager/config/hypr/hyprland.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager/config/hypr/hyprland.conf b/nixos-config/home-manager/config/hypr/hyprland.conf index 93782774..9d91a472 100644 --- a/nixos-config/home-manager/config/hypr/hyprland.conf +++ b/nixos-config/home-manager/config/hypr/hyprland.conf @@ -128,9 +128,9 @@ bind = ALT_$mod, L, exit, # bind power management submap -bind = $mod, x, submap, (s) Shutdown, (r) Reboot, (x) Logout +bind = $mod, x, submap, [(s)hutdown, (r)eboot, e(x)it] # power management submap -submap = (s) Shutdown, (r) Reboot, (x) Logout +submap = [(s)hutdown, (r)eboot, e(x)it] # logout bind = , x, exit, # lock From 50734cdaeece9fa5c4f4e6873072cd997ce2d1e0 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Wed, 3 May 2023 20:42:56 +0200 Subject: [PATCH 181/183] Redesign map name, use systemctl commands explicitly --- nixos-config/home-manager/config/hypr/hyprland.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/nixos-config/home-manager/config/hypr/hyprland.conf b/nixos-config/home-manager/config/hypr/hyprland.conf index 9d91a472..d4d3bffe 100644 --- a/nixos-config/home-manager/config/hypr/hyprland.conf +++ b/nixos-config/home-manager/config/hypr/hyprland.conf @@ -128,17 +128,17 @@ bind = ALT_$mod, L, exit, # bind power management submap -bind = $mod, x, submap, [(s)hutdown, (r)eboot, e(x)it] +bind = $mod, x, submap, [ (s)hutdown, (r)eboot, e(x)it ] # power management submap -submap = [(s)hutdown, (r)eboot, e(x)it] +submap = [ (s)hutdown, (r)eboot, e(x)it ] # logout bind = , x, exit, # lock # TODO # poweroff - bind = , s, exec, poweroff + bind = , s, exec, systemctl poweroff # reboot - bind = , r, exec, reboot + bind = , r, exec, systemctl reboot # use reset to go back to the global submap bind=,escape,submap,reset From b6bd9a101c6c4db5c2ed918ef6e88a3201df3d50 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Wed, 3 May 2023 20:45:11 +0200 Subject: [PATCH 182/183] Modify logout submap --- nixos-config/home-manager/config/hypr/hyprland.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/nixos-config/home-manager/config/hypr/hyprland.conf b/nixos-config/home-manager/config/hypr/hyprland.conf index d4d3bffe..f7ab26fc 100644 --- a/nixos-config/home-manager/config/hypr/hyprland.conf +++ b/nixos-config/home-manager/config/hypr/hyprland.conf @@ -128,11 +128,11 @@ bind = ALT_$mod, L, exit, # bind power management submap -bind = $mod, x, submap, [ (s)hutdown, (r)eboot, e(x)it ] +bind = $mod, x, submap, (S)hutdown, (R)eboot, (E)xit # power management submap -submap = [ (s)hutdown, (r)eboot, e(x)it ] +submap = (S)hutdown, (R)eboot, (E)xit # logout - bind = , x, exit, + bind = , e, exit, # lock # TODO # poweroff From e8529c768894aabb019adf6eee562c1a113f7427 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Wed, 3 May 2023 20:46:22 +0200 Subject: [PATCH 183/183] Rename submap --- nixos-config/home-manager/config/hypr/hyprland.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/nixos-config/home-manager/config/hypr/hyprland.conf b/nixos-config/home-manager/config/hypr/hyprland.conf index f7ab26fc..d5e6fa86 100644 --- a/nixos-config/home-manager/config/hypr/hyprland.conf +++ b/nixos-config/home-manager/config/hypr/hyprland.conf @@ -128,9 +128,9 @@ bind = ALT_$mod, L, exit, # bind power management submap -bind = $mod, x, submap, (S)hutdown, (R)eboot, (E)xit +bind = $mod, x, submap, | (S)hutdown, (R)eboot, (E)xit | # power management submap -submap = (S)hutdown, (R)eboot, (E)xit +submap = | (S)hutdown, (R)eboot, (E)xit | # logout bind = , e, exit, # lock