From e55ae7e6c13613e07362f199ff588bb565030a19 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Mon, 23 Feb 2026 16:35:34 +0100 Subject: [PATCH 01/19] update: modules/cli/fish.nix --- modules/cli/fish.nix | 151 ++++++++++++++++++++++--------------------- 1 file changed, 79 insertions(+), 72 deletions(-) diff --git a/modules/cli/fish.nix b/modules/cli/fish.nix index 837e20c..06a555b 100644 --- a/modules/cli/fish.nix +++ b/modules/cli/fish.nix @@ -3,105 +3,112 @@ { programs.fish = { enable = true; - loginShellInit = '' - fish_add_path --move --prepend --path "$HOME/.nix-profile/bin" /nix/var/nix/profiles/default/bin /run/current-system/sw/bin - ''; + loginShellInit = # fish + '' + fish_add_path --move --prepend --path "$HOME/.nix-profile/bin" /nix/var/nix/profiles/default/bin /run/current-system/sw/bin + ''; - interactiveShellInit = '' - # no dum greeting - set fish_greeting "" + interactiveShellInit = # fish + '' + # no dum greeting + set fish_greeting "" - set -gx GPG_TTY (tty) + set -gx GPG_TTY (tty) - fish_vi_key_bindings + fish_vi_key_bindings - fastfetch --config ~/.config/fastfetch/startup.jsonc - ''; + fastfetch --config ~/.config/fastfetch/startup.jsonc + ''; functions = { edit_dotfile = { description = "Edit config file, reload, commit and push"; - body = '' - set -l config_dir "$HOME/.config/home-manager" - set -l file + body = # fish + '' + set -l config_dir "$HOME/.config/home-manager" + set -l file - if test (count $argv) -gt 0 - set file $argv[1] - else - set file (fd . $config_dir --type f --exclude ".git" | fzf) - end + if test (count $argv) -gt 0 + set file $argv[1] + else + set file (fd . $config_dir --type f --exclude ".git" | fzf) + end - if test -n "$file" - set -l md5_before (md5sum $file) - pushd $config_dir - - nvim $file + if test -n "$file" + set -l md5_before (md5sum $file) + pushd $config_dir + + nvim $file - if test "$md5_before" != (md5sum $file) - echo "Changes made. Preparing commit..." - - set -l rel_file (realpath --relative-to=$config_dir $file) - - if home-manager switch --flake "$config_dir#${ - if isNixOS then "nixos" else "arch" - }" -b backup - git add -A - set commit_msg "update: $rel_file" - git commit -m "$commit_msg" - git push - end - else - echo "No changes made" - end - popd - end - ''; + if test "$md5_before" != (md5sum $file) + echo "Changes made. Preparing commit..." + + set -l rel_file (realpath --relative-to=$config_dir $file) + + if home-manager switch --flake "$config_dir#${ + if isNixOS then "nixos" else "arch" + }" -b backup + git add -A + set commit_msg "update: $rel_file" + git commit -m "$commit_msg" + git push + end + else + echo "No changes made" + end + popd + end + ''; }; ls = { - body = "eza --long --icons --group-directories-first --git $argv"; + body = # fish + "eza --long --icons --group-directories-first --git $argv"; }; lst = { - body = "eza --long --icons --color --git --tree $argv"; + body = # fish + "eza --long --icons --color --git --tree $argv"; }; cp_mail = { - body = "pandoc $argv -t html |wl-copy -t text/html"; + body = # fish + "pandoc $argv -t html |wl-copy -t text/html"; }; update = { - body = '' - echo "===System update===" + body = # fish + '' + echo "===System update===" - if not type -q yay - echo "Yay not found… Is this Arch? If yes, then please consider installing it!" - else - yay - end + if not type -q yay + echo "Yay not found… Is this Arch? If yes, then please consider installing it!" + else + yay + end - if type -q pacman - echo "===Remove orphans===" - set orphans (pacman -Qtdq) - if test (count $orphans) -gt 0 - sudo pacman -Rns $orphans - end - end + if type -q pacman + echo "===Remove orphans===" + set orphans (pacman -Qtdq) + if test (count $orphans) -gt 0 + sudo pacman -Rns $orphans + end + end - if type -q flatpak - echo "===Flatpak update===" - flatpak update --noninteractive - echo "===Flatpak remove unused===" - flatpak uninstall --unused - end + if type -q flatpak + echo "===Flatpak update===" + flatpak update --noninteractive + echo "===Flatpak remove unused===" + flatpak uninstall --unused + end - if type -q nix-channel - echo "===Nix update===" - nix-channel --update - echo "===Nix garbage collection===" - home-manager expire-generations "-7 days" - end - ''; + if type -q nix-channel + echo "===Nix update===" + nix-channel --update + echo "===Nix garbage collection===" + home-manager expire-generations "-7 days" + end + ''; }; rm = { From e690f58b9ae5ebc21b51428c7d833bf99a034c45 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Mon, 23 Feb 2026 19:51:37 +0100 Subject: [PATCH 02/19] xd --- flake.lock | 25 +++++++++++++++++++++---- flake.nix | 36 ++++++++++++++++++++++++++++-------- home.nix | 9 ++++++--- modules/cli/git.nix | 9 ++++----- modules/cli/ssh.nix | 6 +++--- modules/gui/satty.nix | 4 ++-- 6 files changed, 64 insertions(+), 25 deletions(-) diff --git a/flake.lock b/flake.lock index fa8cc4d..1738511 100644 --- a/flake.lock +++ b/flake.lock @@ -46,11 +46,11 @@ ] }, "locked": { - "lastModified": 1771683283, - "narHash": "sha256-WxAEkAbo8dP7qiyPM6VN4ZGAxfuBVlNBNPkrqkrXVEc=", + "lastModified": 1771851181, + "narHash": "sha256-gFgE6mGUftwseV3DUENMb0k0EiHd739lZexPo5O/sdQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "c6ed3eab64d23520bcbb858aa53fe2b533725d4a", + "rev": "9a4b494b1aa1b93d8edf167f46dc8e0c0011280c", "type": "github" }, "original": { @@ -118,7 +118,8 @@ "catppuccin": "catppuccin", "home-manager": "home-manager", "nixpkgs": "nixpkgs_2", - "nixvim": "nixvim" + "nixvim": "nixvim", + "wallpapers": "wallpapers" } }, "systems": { @@ -135,6 +136,22 @@ "repo": "default", "type": "github" } + }, + "wallpapers": { + "flake": false, + "locked": { + "lastModified": 1762937381, + "narHash": "sha256-N+MZHSRcwOldS5Ai8B3YfKquKs9oeUW/GkV1iKM5+i8=", + "owner": "orangci", + "repo": "walls-catppuccin-mocha", + "rev": "7bfdf10d16ad3a689f9f0cf3a0930da3d1a245a8", + "type": "github" + }, + "original": { + "owner": "orangci", + "repo": "walls-catppuccin-mocha", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index a3fd908..89113b1 100644 --- a/flake.nix +++ b/flake.nix @@ -7,7 +7,13 @@ url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; + catppuccin.url = "github:catppuccin/nix"; + wallpapers = { + url = "github:orangci/walls-catppuccin-mocha"; + flake = false; + }; + nixvim = { url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs"; @@ -20,21 +26,31 @@ home-manager, catppuccin, nixvim, + wallpapers, ... - }: + }@inputs: let - username = "szymon"; - # for git - email = "szymon_jozef@proton.me"; - full_name = "Szymon P"; + userConfig = { + username = "szymon"; + # for git + email = "szymon_jozef@proton.me"; + fullName = "Szymon P"; + }; + pathConfig = { + wallpaper = "Obrazy/tapety/catppuccin"; + }; in { homeConfigurations = { "arch" = home-manager.lib.homeManagerConfiguration { pkgs = import nixpkgs { system = "x86_64-linux"; }; extraSpecialArgs = { - inherit username email full_name; + inherit + inputs + userConfig + pathConfig + ; isNixOS = false; }; modules = [ @@ -47,13 +63,17 @@ "nixos" = home-manager.lib.homeManagerConfiguration { pkgs = import nixpkgs { system = "x86_64-linux"; }; extraSpecialArgs = { - inherit username email full_name; + inherit + inputs + userConfig + pathConfig + ; isNixOS = true; }; modules = [ ./home.nix catppuccin.homeModules.catppuccin - nixvim.homeManagerModules.nixvim + nixvim.homeModules.nixvim ]; }; }; diff --git a/home.nix b/home.nix index df54922..5a9b970 100644 --- a/home.nix +++ b/home.nix @@ -1,12 +1,14 @@ { pkgs, - username, + inputs, + userConfig, + pathConfig, ... }: { - home.username = username; - home.homeDirectory = "/home/${username}"; + home.username = userConfig.username; + home.homeDirectory = "/home/${userConfig.username}"; nix = { package = pkgs.nix; @@ -60,6 +62,7 @@ # === SCRIPTS IMPORT === home.file = { ".local/bin".source = ./scripts; + ${pathConfig.wallpaper}.source = inputs.wallpapers; }; # === VARS === diff --git a/modules/cli/git.nix b/modules/cli/git.nix index 2675194..49107fa 100644 --- a/modules/cli/git.nix +++ b/modules/cli/git.nix @@ -1,7 +1,6 @@ { pkgs, - full_name, - email, + userConfig, ... }: @@ -14,8 +13,8 @@ enable = true; settings = { user = { - name = full_name; - email = email; + name = userConfig.fullName; + email = userConfig.email; }; init.defaultBranch = "master"; push.autoSetupRemote = true; @@ -23,7 +22,7 @@ }; signing = { - key = email; + key = userConfig.email; signByDefault = true; }; diff --git a/modules/cli/ssh.nix b/modules/cli/ssh.nix index 5a8e017..7acac8b 100644 --- a/modules/cli/ssh.nix +++ b/modules/cli/ssh.nix @@ -1,4 +1,4 @@ -{ username, ... }: +{ userConfig, ... }: { services.ssh-agent.enable = true; @@ -10,13 +10,13 @@ matchBlocks = { "dmowski" = { hostname = "192.168.0.30"; - user = username; + user = userConfig.username; port = 22; identityFile = "~/.ssh/dmowski"; }; "aur.archlinux.org" = { - user = username; + user = userConfig.username; identityFile = "~/.ssh/aur"; }; diff --git a/modules/gui/satty.nix b/modules/gui/satty.nix index 9a8e3d7..c177d5e 100644 --- a/modules/gui/satty.nix +++ b/modules/gui/satty.nix @@ -1,7 +1,7 @@ { lib, isNixOS, - username, + userConfig, ... }: @@ -14,7 +14,7 @@ fullscreen = true; early-exit = true; initial-tool = "crop"; - output-filename = "/home/${username}/Obrazy/zrzuty/%d-%m-%Y_%H:%M:%S.png"; + output-filename = "/home/${userConfig.username}/Obrazy/zrzuty/%d-%m-%Y_%H:%M:%S.png"; save-after-copy = true; copy-command = "wl-copy"; disable-notifications = false; From bfab7d80e927e6db16ce543b95a0f95a2098e522 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Mon, 23 Feb 2026 23:03:57 +0100 Subject: [PATCH 03/19] update readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 68fba23..e56fac5 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ My dotfiles managed with [home manager](https://github.com/nix-community/home-ma * Hyprlauncher * Hyprlock * Hyprsunset +* Hyprtoolkit * Kitty * Mako * Nixvim From 1e107185b3fd25cd2396de1044d05b038d03f8b7 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 16:18:27 +0100 Subject: [PATCH 04/19] var edir --- flake.nix | 10 +++++----- home.nix | 3 +-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/flake.nix b/flake.nix index 89113b1..b0eb4f0 100644 --- a/flake.nix +++ b/flake.nix @@ -36,9 +36,11 @@ # for git email = "szymon_jozef@proton.me"; fullName = "Szymon P"; - }; - pathConfig = { - wallpaper = "Obrazy/tapety/catppuccin"; + + pathConfig = { + wallpaper = "Obrazy/tapety/catppuccin"; + }; + }; in { @@ -49,7 +51,6 @@ inherit inputs userConfig - pathConfig ; isNixOS = false; }; @@ -66,7 +67,6 @@ inherit inputs userConfig - pathConfig ; isNixOS = true; }; diff --git a/home.nix b/home.nix index 5a9b970..2bab6b5 100644 --- a/home.nix +++ b/home.nix @@ -2,7 +2,6 @@ pkgs, inputs, userConfig, - pathConfig, ... }: @@ -62,7 +61,7 @@ # === SCRIPTS IMPORT === home.file = { ".local/bin".source = ./scripts; - ${pathConfig.wallpaper}.source = inputs.wallpapers; + ${userConfig.pathConfig.wallpaper}.source = inputs.wallpapers; }; # === VARS === From 56dfeda53e81787176e46131ea1624d7a032a60f Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 16:31:51 +0100 Subject: [PATCH 05/19] signing with ssh key --- flake.nix | 2 ++ modules/cli/git.nix | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index b0eb4f0..15128a8 100644 --- a/flake.nix +++ b/flake.nix @@ -36,6 +36,8 @@ # for git email = "szymon_jozef@proton.me"; fullName = "Szymon P"; + # your public ssh key + signingKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKxyiqawA95AlLjXGd99sQCVR2rDq2/D7PG/vz7sZv5G"; pathConfig = { wallpaper = "Obrazy/tapety/catppuccin"; diff --git a/modules/cli/git.nix b/modules/cli/git.nix index 49107fa..926917d 100644 --- a/modules/cli/git.nix +++ b/modules/cli/git.nix @@ -19,11 +19,13 @@ init.defaultBranch = "master"; push.autoSetupRemote = true; core.editor = "nvim"; + gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers"; }; signing = { - key = userConfig.email; + key = userConfig.signingKey; signByDefault = true; + format = "ssh"; }; ignores = [ @@ -37,6 +39,10 @@ }; + home.file.".ssh/allowed_signers".text = '' + ${userConfig.email} ${userConfig.signingKey} + ''; + programs.delta = { enable = true; enableGitIntegration = true; From 65a83d177ad0f26c361e821efcd9c6957c90297f Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 16:32:13 +0100 Subject: [PATCH 06/19] xd --- flake.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/flake.nix b/flake.nix index 15128a8..2f76910 100644 --- a/flake.nix +++ b/flake.nix @@ -42,7 +42,6 @@ pathConfig = { wallpaper = "Obrazy/tapety/catppuccin"; }; - }; in { From 89911e7d9053be9ffa427cfba6075767866d90a1 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 18:50:54 +0100 Subject: [PATCH 07/19] gh --- modules/cli/git.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/modules/cli/git.nix b/modules/cli/git.nix index 926917d..13d05ca 100644 --- a/modules/cli/git.nix +++ b/modules/cli/git.nix @@ -39,6 +39,11 @@ }; + programs.gh = { + enable = true; + settings.git_protocol = "ssh"; + }; + home.file.".ssh/allowed_signers".text = '' ${userConfig.email} ${userConfig.signingKey} ''; From cac48072c382e989fa4c4a2b6d7381cffaaf4fec Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 19:16:00 +0100 Subject: [PATCH 08/19] readme --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e56fac5..07187a0 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,13 @@ As of today I'm using this repo with home manager. I'm still trying stuff out, b # How to use this? You need to have [home manager](https://nix-community.github.io/home-manager/index.xhtml#sec-install-standalone) installed. Install needs to be **standalone**. It may not work as NixOS module. -## Arch Linux +## Settings +You need to edit `flake.nix` to match your preferences. +- If you want to use git, login with `gh auth login`, generate ssh key and put the pub key in the flake. +- You also need to set your git credentials there +- You can change the path of wallpaper dir. + +### Arch Linux 0. If you're extra lazy you can use `install_nix_and_home_manager_on_arch.sh` script to install nix and home-manager. Just run it with `chmod +x ./install_nix_and_home_manager_on_arch.sh && ./install_nix_and_home_manager_on_arch.sh` 1. Copy this repo to `~/.config/home-manager` or somewhere else. 2. Make sure to change variable to your liking inside `flake.nix`. Especially your username and home path! @@ -53,7 +59,7 @@ You need to have [home manager](https://nix-community.github.io/home-manager/ind 4. Run this command to apply all the configurations for the first time `home-manager switch --flake .#arch -b backup`. Make sure to be in the repo root. All your existing files will be backed up with `.backup` extension. 5. Enjoy! Now you can use [nh](https://github.com/nix-community/nh). So for example to switch use `nh home switch . -c arch --backup-extension backup` -## NixOS +### NixOS 1. Copy this repo to `~/.config/home-manager` or somewhere else. 2. Make sure to change variable to your liking inside `flake.nix`. Especially your username and home path! 3. Run this command to apply all the configurations for the first time `home-manager switch --flake .#nixos -b backup`. Make sure to be in the repo root. All your existing files will be backed up with `.backup` extension. From 18b56bb25703f430226b8177dffefb659ae3b678 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 19:16:00 +0100 Subject: [PATCH 09/19] readme --- README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e56fac5..3686e13 100644 --- a/README.md +++ b/README.md @@ -45,15 +45,21 @@ As of today I'm using this repo with home manager. I'm still trying stuff out, b # How to use this? You need to have [home manager](https://nix-community.github.io/home-manager/index.xhtml#sec-install-standalone) installed. Install needs to be **standalone**. It may not work as NixOS module. -## Arch Linux +## Settings +You need to edit `flake.nix` to match your preferences. +- If you want to use git, login with `gh auth login`, generate ssh key and put the pub key in the flake. +- You also need to set your git credentials there +- You can change the path of wallpaper dir. + +### Arch Linux 0. If you're extra lazy you can use `install_nix_and_home_manager_on_arch.sh` script to install nix and home-manager. Just run it with `chmod +x ./install_nix_and_home_manager_on_arch.sh && ./install_nix_and_home_manager_on_arch.sh` 1. Copy this repo to `~/.config/home-manager` or somewhere else. 2. Make sure to change variable to your liking inside `flake.nix`. Especially your username and home path! -3. Download all the dependencies `sudo yay -Syu --needed - < arch_packages.txt`. You can use any other aur helper if you want to, but be aware that regular pacman most likely won't work as `ashell` is not in regular repos yet. +3. Download all the dependencies `yay -Syu --needed - < arch_packages.txt`. You can use any other aur helper if you want to, but be aware that regular pacman most likely won't work as `ashell` is not in regular repos yet. 4. Run this command to apply all the configurations for the first time `home-manager switch --flake .#arch -b backup`. Make sure to be in the repo root. All your existing files will be backed up with `.backup` extension. 5. Enjoy! Now you can use [nh](https://github.com/nix-community/nh). So for example to switch use `nh home switch . -c arch --backup-extension backup` -## NixOS +### NixOS 1. Copy this repo to `~/.config/home-manager` or somewhere else. 2. Make sure to change variable to your liking inside `flake.nix`. Especially your username and home path! 3. Run this command to apply all the configurations for the first time `home-manager switch --flake .#nixos -b backup`. Make sure to be in the repo root. All your existing files will be backed up with `.backup` extension. From 909432c10a183fcb80d92a57cc0108c02c4e92ca Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 19:20:15 +0100 Subject: [PATCH 10/19] git --- modules/cli/git.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/cli/git.nix b/modules/cli/git.nix index 13d05ca..ffbebdd 100644 --- a/modules/cli/git.nix +++ b/modules/cli/git.nix @@ -20,6 +20,7 @@ push.autoSetupRemote = true; core.editor = "nvim"; gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers"; + pull.rebase = false; }; signing = { From b33de71b55bf2ac33eea750d08c1bb696f271dc3 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 19:38:47 +0100 Subject: [PATCH 11/19] chromium --- home.nix | 1 + modules/gui/browsers.nix | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 modules/gui/browsers.nix diff --git a/home.nix b/home.nix index 2bab6b5..803fa10 100644 --- a/home.nix +++ b/home.nix @@ -46,6 +46,7 @@ ./modules/gui/satty.nix ./modules/gui/mako.nix ./modules/gui/mangohud.nix + ./modules/gui/browsers.nix # status bars ./modules/bars/ashell.nix ./modules/bars/waybar.nix diff --git a/modules/gui/browsers.nix b/modules/gui/browsers.nix new file mode 100644 index 0000000..a81d79f --- /dev/null +++ b/modules/gui/browsers.nix @@ -0,0 +1,8 @@ +{ isNixOS, lib, ... }: + +{ + programs.chromium = { + enable = true; + package = lib.mkIf (!isNixOS) null; + }; +} From f175a72fcfca191bb2b07819f078b90cd36a5b98 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 19:41:20 +0100 Subject: [PATCH 12/19] more git --- modules/cli/git.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/cli/git.nix b/modules/cli/git.nix index ffbebdd..d227042 100644 --- a/modules/cli/git.nix +++ b/modules/cli/git.nix @@ -18,9 +18,14 @@ }; init.defaultBranch = "master"; push.autoSetupRemote = true; - core.editor = "nvim"; + gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers"; + pull.rebase = false; + + merge.tool = "nvimdiff"; + mergetool.prompt = false; + mergetool.keepBackup = false; }; signing = { From 74b4c900076ab3d8973ff2e8e013859da2863372 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 19:45:58 +0100 Subject: [PATCH 13/19] main monitor config option --- flake.nix | 3 +++ modules/bars/ashell.nix | 9 +++++++-- modules/bars/waybar.nix | 5 ++--- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/flake.nix b/flake.nix index 2f76910..28dd758 100644 --- a/flake.nix +++ b/flake.nix @@ -39,9 +39,12 @@ # your public ssh key signingKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKxyiqawA95AlLjXGd99sQCVR2rDq2/D7PG/vz7sZv5G"; + mainMonitor = "DP-1"; + pathConfig = { wallpaper = "Obrazy/tapety/catppuccin"; }; + }; in { diff --git a/modules/bars/ashell.nix b/modules/bars/ashell.nix index 260bca5..33c594d 100644 --- a/modules/bars/ashell.nix +++ b/modules/bars/ashell.nix @@ -1,4 +1,9 @@ -{ lib, isNixOS, ... }: +{ + lib, + isNixOS, + userConfig, + ... +}: { programs.ashell = { @@ -6,7 +11,7 @@ package = lib.mkIf (!isNixOS) null; settings = { outputs = { - Targets = [ "DP-1" ]; + Targets = [ userConfig.mainMonitor ]; }; position = "Bottom"; modules = { diff --git a/modules/bars/waybar.nix b/modules/bars/waybar.nix index 61d8e44..a5ed65f 100644 --- a/modules/bars/waybar.nix +++ b/modules/bars/waybar.nix @@ -1,6 +1,7 @@ { pkgs, isNixOS, + userConfig, ... }: @@ -22,9 +23,7 @@ reload_style_on_change = true; width = 70; output = [ - "DP-1" - "eDP-1" - "LVDS-1" + userConfig.mainMonitor ]; modules-left = [ From 8ead2d6800d9c2098efeba210885721f82d8f161 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 19:49:35 +0100 Subject: [PATCH 14/19] add option to change statusBar --- flake.nix | 1 + modules/hypr/hyprland.nix | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index 28dd758..d990a65 100644 --- a/flake.nix +++ b/flake.nix @@ -40,6 +40,7 @@ signingKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKxyiqawA95AlLjXGd99sQCVR2rDq2/D7PG/vz7sZv5G"; mainMonitor = "DP-1"; + statusBar = "ashell"; # available: ashell|waybar pathConfig = { wallpaper = "Obrazy/tapety/catppuccin"; diff --git a/modules/hypr/hyprland.nix b/modules/hypr/hyprland.nix index 6eea938..169a8c3 100644 --- a/modules/hypr/hyprland.nix +++ b/modules/hypr/hyprland.nix @@ -1,4 +1,9 @@ -{ isNixOS, lib, ... }: +{ + isNixOS, + lib, + userConfig, + ... +}: { wayland.windowManager.hyprland = { @@ -141,7 +146,7 @@ "wl-paste --type text --watch cliphist store" "wl-paste --type image --watch cliphist store" "uwsm app -- kdeconnect-indicator" - "uwsm app -- ashell" + "uwsm app -- ${userConfig.statusBar}" "swww-daemon" "openrgb -c $openrgb_color" ]; From 45c041d7ef8bbf74f73efffd0de3ebb01c63d7b8 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 20:10:32 +0100 Subject: [PATCH 15/19] xd --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index d990a65..7f9e13d 100644 --- a/flake.nix +++ b/flake.nix @@ -39,7 +39,7 @@ # your public ssh key signingKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKxyiqawA95AlLjXGd99sQCVR2rDq2/D7PG/vz7sZv5G"; - mainMonitor = "DP-1"; + mainMonitor = "DP-1"; # only for some applications: you still need to set hyprland monitors yourself! statusBar = "ashell"; # available: ashell|waybar pathConfig = { From 3091531d9546c96c83f738cf80cce21950a04577 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 20:13:00 +0100 Subject: [PATCH 16/19] kdeconnect --- home.nix | 1 + modules/cli/kdeconnect.nix | 8 ++++++++ modules/hypr/hyprland.nix | 1 - 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 modules/cli/kdeconnect.nix diff --git a/home.nix b/home.nix index 803fa10..7baca10 100644 --- a/home.nix +++ b/home.nix @@ -41,6 +41,7 @@ ./modules/cli/bat.nix ./modules/cli/git.nix ./modules/cli/fastfetch.nix + ./modules/cli/kdeconnect.nix # gui tools ./modules/gui/kitty.nix ./modules/gui/satty.nix diff --git a/modules/cli/kdeconnect.nix b/modules/cli/kdeconnect.nix new file mode 100644 index 0000000..e615178 --- /dev/null +++ b/modules/cli/kdeconnect.nix @@ -0,0 +1,8 @@ +{ ... }: + +{ + services.kdeconnect = { + enable = true; + indicator = true; + }; +} diff --git a/modules/hypr/hyprland.nix b/modules/hypr/hyprland.nix index 169a8c3..91b762b 100644 --- a/modules/hypr/hyprland.nix +++ b/modules/hypr/hyprland.nix @@ -145,7 +145,6 @@ "exec-once" = [ "wl-paste --type text --watch cliphist store" "wl-paste --type image --watch cliphist store" - "uwsm app -- kdeconnect-indicator" "uwsm app -- ${userConfig.statusBar}" "swww-daemon" "openrgb -c $openrgb_color" From 98c6e20d5a7b2aaefd63ccbab35312d31ab51477 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 21:05:54 +0100 Subject: [PATCH 17/19] chagne time --- modules/hypr/hyprsunset.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/hypr/hyprsunset.nix b/modules/hypr/hyprsunset.nix index cd5e941..0e6cc6a 100644 --- a/modules/hypr/hyprsunset.nix +++ b/modules/hypr/hyprsunset.nix @@ -22,7 +22,7 @@ identity = true; } { - time = "21:00"; + time = "21:30"; identity = false; temperature = 4500; gamma = 0.8; From a614b877637e844efe23d5303bde04033b8d2e4d Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 21:34:43 +0100 Subject: [PATCH 18/19] add do-not-disturb button to ashell --- modules/bars/ashell.nix | 46 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/modules/bars/ashell.nix b/modules/bars/ashell.nix index 33c594d..6bd33bb 100644 --- a/modules/bars/ashell.nix +++ b/modules/bars/ashell.nix @@ -2,10 +2,45 @@ lib, isNixOS, userConfig, + pkgs, ... }: +let + mako-dnd-script = pkgs.writeShellScriptBin "ashell-mako-dnd" '' + case $1 in + listen) + print_state() { + if makoctl mode | grep -q do-not-disturb; then + echo '{"alt":"dnd"}' + else + echo '{"alt":"none"}' + fi + } + + trap print_state USR1 + + print_state + + while true; do + sleep infinity & wait $! + done + ;; + + toggle) + if makoctl mode | grep -q do-not-disturb; then + makoctl mode -r do-not-disturb > /dev/null + else + makoctl mode -a do-not-disturb > /dev/null + fi + + pkill -USR1 -f "ashell-mako-dnd listen" + ;; + esac + ''; +in { + programs.ashell = { enable = true; package = lib.mkIf (!isNixOS) null; @@ -26,12 +61,23 @@ "MediaPlayer" "SystemInfo" [ + "CustomNotifications" "Tray" "Settings" ] ]; }; + CustomModule = [ + { + name = "CustomNotifications"; + icon = ""; + command = "${mako-dnd-script}/bin/ashell-mako-dnd toggle"; + listen_cmd = "${mako-dnd-script}/bin/ashell-mako-dnd listen"; + icons.dnd = ""; + } + ]; + clock = { format = "%H:%M | %e.%m "; }; From c77553344515b404d765c04e1e472dac1cf4bb94 Mon Sep 17 00:00:00 2001 From: Szymon P Date: Tue, 24 Feb 2026 21:58:37 +0100 Subject: [PATCH 19/19] nicer scripting --- modules/bars/ashell.nix | 61 +++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 36 deletions(-) diff --git a/modules/bars/ashell.nix b/modules/bars/ashell.nix index 6bd33bb..d6e1815 100644 --- a/modules/bars/ashell.nix +++ b/modules/bars/ashell.nix @@ -6,41 +6,7 @@ ... }: -let - mako-dnd-script = pkgs.writeShellScriptBin "ashell-mako-dnd" '' - case $1 in - listen) - print_state() { - if makoctl mode | grep -q do-not-disturb; then - echo '{"alt":"dnd"}' - else - echo '{"alt":"none"}' - fi - } - - trap print_state USR1 - - print_state - - while true; do - sleep infinity & wait $! - done - ;; - - toggle) - if makoctl mode | grep -q do-not-disturb; then - makoctl mode -r do-not-disturb > /dev/null - else - makoctl mode -a do-not-disturb > /dev/null - fi - - pkill -USR1 -f "ashell-mako-dnd listen" - ;; - esac - ''; -in { - programs.ashell = { enable = true; package = lib.mkIf (!isNixOS) null; @@ -72,8 +38,31 @@ in { name = "CustomNotifications"; icon = ""; - command = "${mako-dnd-script}/bin/ashell-mako-dnd toggle"; - listen_cmd = "${mako-dnd-script}/bin/ashell-mako-dnd listen"; + command = "${pkgs.writeShellScript "dnd-toggle" '' + if makoctl mode | grep -q do-not-disturb; then + makoctl mode -r do-not-disturb > /dev/null + else + makoctl mode -a do-not-disturb > /dev/null + fi + pkill -USR1 -f dnd-check + ''}"; + listen_cmd = "${pkgs.writeShellScript "dnd-check" '' + print_state() { + if makoctl mode | grep -q do-not-disturb; then + echo '{"alt":"dnd"}' + else + echo '{"alt":"none"}' + fi + } + + trap print_state USR1 + + print_state + + while true; do + sleep infinity & wait $! + done + ''}"; icons.dnd = ""; } ];