commit d892c7d36270c2584927808a7c6809f94a5c1597
parent 17b6bf351ac5d285f997ccee007eb15cfde69088
Author: Milutin Popovic <milutin@popovic.xyz>
Date: Sat, 4 Apr 2026 00:35:21 +0100
dots
Diffstat:
4 files changed, 483 insertions(+), 3 deletions(-)
diff --git a/flake.lock b/flake.lock
@@ -0,0 +1,466 @@
+{
+ "nodes": {
+ "betterfox": {
+ "inputs": {
+ "flake-parts": "flake-parts",
+ "import-tree": "import-tree",
+ "nixpkgs": "nixpkgs",
+ "systems": "systems"
+ },
+ "locked": {
+ "lastModified": 1774983044,
+ "narHash": "sha256-XfoC6wpoDN3CNVY8U6tqpPa0oiHoKpE9G9xYNfI1ZME=",
+ "owner": "HeitorAugustoLN",
+ "repo": "betterfox-nix",
+ "rev": "a18e05401186690925d5c493240908852cdb43ea",
+ "type": "github"
+ },
+ "original": {
+ "owner": "HeitorAugustoLN",
+ "repo": "betterfox-nix",
+ "type": "github"
+ }
+ },
+ "disko": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1773889306,
+ "narHash": "sha256-PAqwnsBSI9SVC2QugvQ3xeYCB0otOwCacB1ueQj2tgw=",
+ "owner": "nix-community",
+ "repo": "disko",
+ "rev": "5ad85c82cc52264f4beddc934ba57f3789f28347",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "disko",
+ "type": "github"
+ }
+ },
+ "flake-parts": {
+ "inputs": {
+ "nixpkgs-lib": [
+ "betterfox",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1763759067,
+ "narHash": "sha256-LlLt2Jo/gMNYAwOgdRQBrsRoOz7BPRkzvNaI/fzXi2Q=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "2cccadc7357c0ba201788ae99c4dfa90728ef5e0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "type": "github"
+ }
+ },
+ "home-manager": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1775143651,
+ "narHash": "sha256-S0RqAyDPMTcv9vASMaE8eY1QexFysAOdnxUxFHIPOyE=",
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "rev": "d166a078541982a76f14d3e06e9665fa5c9ed85e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "type": "github"
+ }
+ },
+ "import-tree": {
+ "locked": {
+ "lastModified": 1763762820,
+ "narHash": "sha256-ZvYKbFib3AEwiNMLsejb/CWs/OL/srFQ8AogkebEPF0=",
+ "owner": "vic",
+ "repo": "import-tree",
+ "rev": "3c23749d8013ec6daa1d7255057590e9ca726646",
+ "type": "github"
+ },
+ "original": {
+ "owner": "vic",
+ "repo": "import-tree",
+ "type": "github"
+ }
+ },
+ "niri": {
+ "inputs": {
+ "niri-stable": "niri-stable",
+ "niri-unstable": "niri-unstable",
+ "nixpkgs": "nixpkgs_2",
+ "nixpkgs-stable": "nixpkgs-stable",
+ "xwayland-satellite-stable": "xwayland-satellite-stable",
+ "xwayland-satellite-unstable": "xwayland-satellite-unstable"
+ },
+ "locked": {
+ "lastModified": 1775089852,
+ "narHash": "sha256-zcX3hf2cTOQ06kRP+FCYbuaWhy+FLruLFp+D79Enjo4=",
+ "owner": "sodiboo",
+ "repo": "niri-flake",
+ "rev": "cfa91d98691d91cc604ab8f4e224819524c496ad",
+ "type": "github"
+ },
+ "original": {
+ "owner": "sodiboo",
+ "repo": "niri-flake",
+ "type": "github"
+ }
+ },
+ "niri-stable": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1756556321,
+ "narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=",
+ "owner": "YaLTeR",
+ "repo": "niri",
+ "rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294",
+ "type": "github"
+ },
+ "original": {
+ "owner": "YaLTeR",
+ "ref": "v25.08",
+ "repo": "niri",
+ "type": "github"
+ }
+ },
+ "niri-unstable": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1774616418,
+ "narHash": "sha256-z+dLkAS4bqytIlOI4h2MnjBJrSP4d1Awx0n+IV5YA3Y=",
+ "owner": "YaLTeR",
+ "repo": "niri",
+ "rev": "8f48f56fe19918b5cfa02e5d68a47ebaf7bf3dee",
+ "type": "github"
+ },
+ "original": {
+ "owner": "YaLTeR",
+ "repo": "niri",
+ "type": "github"
+ }
+ },
+ "nix-darwin": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1775037210,
+ "narHash": "sha256-KM2WYj6EA7M/FVZVCl3rqWY+TFV5QzSyyGE2gQxeODU=",
+ "owner": "nix-darwin",
+ "repo": "nix-darwin",
+ "rev": "06648f4902343228ce2de79f291dd5a58ee12146",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-darwin",
+ "ref": "master",
+ "repo": "nix-darwin",
+ "type": "github"
+ }
+ },
+ "nixos-facter-modules": {
+ "locked": {
+ "lastModified": 1773858690,
+ "narHash": "sha256-oW0/lC0oRG5H5LaK6Rmh9L1wmkn9TbenM4bXwnIEDKA=",
+ "owner": "numtide",
+ "repo": "nixos-facter-modules",
+ "rev": "139dcef4dfc97009629c445806f197883351ab4a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "nixos-facter-modules",
+ "type": "github"
+ }
+ },
+ "nixos-hardware": {
+ "locked": {
+ "lastModified": 1775203647,
+ "narHash": "sha256-6MWaMLXK9QMndI94CIxeiPafi3wuO+imCtK9tfhsZdw=",
+ "owner": "NixOS",
+ "repo": "nixos-hardware",
+ "rev": "80afbd13eea0b7c4ac188de949e1711b31c2b5f0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "repo": "nixos-hardware",
+ "type": "github"
+ }
+ },
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1763806073,
+ "narHash": "sha256-FHsEKDvfWpzdADWj99z7vBk4D716Ujdyveo5+A048aI=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "878e468e02bfabeda08c79250f7ad583037f2227",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs-stable": {
+ "locked": {
+ "lastModified": 1775002709,
+ "narHash": "sha256-d3Yx83vSrN+2z/loBh4mJpyRqr9aAJqlke4TkpFmRJA=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "bcd464ccd2a1a7cd09aa2f8d4ffba83b761b1d0e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-25.11",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_2": {
+ "locked": {
+ "lastModified": 1775036866,
+ "narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "6201e203d09599479a3b3450ed24fa81537ebc4e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_3": {
+ "locked": {
+ "lastModified": 1775036866,
+ "narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "6201e203d09599479a3b3450ed24fa81537ebc4e",
+ "type": "github"
+ },
+ "original": {
+ "id": "nixpkgs",
+ "ref": "nixos-unstable",
+ "type": "indirect"
+ }
+ },
+ "nixpkgs_4": {
+ "locked": {
+ "lastModified": 1775036866,
+ "narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=",
+ "owner": "nixos",
+ "repo": "nixpkgs",
+ "rev": "6201e203d09599479a3b3450ed24fa81537ebc4e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nixos",
+ "ref": "nixos-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_stable": {
+ "locked": {
+ "lastModified": 1775002709,
+ "narHash": "sha256-d3Yx83vSrN+2z/loBh4mJpyRqr9aAJqlke4TkpFmRJA=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "bcd464ccd2a1a7cd09aa2f8d4ffba83b761b1d0e",
+ "type": "github"
+ },
+ "original": {
+ "id": "nixpkgs",
+ "ref": "nixos-25.11",
+ "type": "indirect"
+ }
+ },
+ "noctalia": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_4",
+ "noctalia-qs": "noctalia-qs"
+ },
+ "locked": {
+ "lastModified": 1775210433,
+ "narHash": "sha256-tkue0Ed0CufUXjEBb51ojtyWY1ibK9h3ed+mVDHFGZA=",
+ "owner": "noctalia-dev",
+ "repo": "noctalia-shell",
+ "rev": "759454d2d5bce9be7dea982818700140335ed047",
+ "type": "github"
+ },
+ "original": {
+ "owner": "noctalia-dev",
+ "repo": "noctalia-shell",
+ "type": "github"
+ }
+ },
+ "noctalia-qs": {
+ "inputs": {
+ "nixpkgs": [
+ "noctalia",
+ "nixpkgs"
+ ],
+ "systems": "systems_2",
+ "treefmt-nix": "treefmt-nix"
+ },
+ "locked": {
+ "lastModified": 1775135550,
+ "narHash": "sha256-79JP2QTdvp1jg7HGxAW+xzhzhLnlKUi8yGXq9nDCeH0=",
+ "owner": "noctalia-dev",
+ "repo": "noctalia-qs",
+ "rev": "e7224b756dcd10eec040df818a4c7a0fda5d6eff",
+ "type": "github"
+ },
+ "original": {
+ "owner": "noctalia-dev",
+ "repo": "noctalia-qs",
+ "type": "github"
+ }
+ },
+ "root": {
+ "inputs": {
+ "betterfox": "betterfox",
+ "disko": "disko",
+ "home-manager": "home-manager",
+ "niri": "niri",
+ "nix-darwin": "nix-darwin",
+ "nixos-facter-modules": "nixos-facter-modules",
+ "nixos-hardware": "nixos-hardware",
+ "nixpkgs": "nixpkgs_3",
+ "nixpkgs_stable": "nixpkgs_stable",
+ "noctalia": "noctalia",
+ "sops-nix": "sops-nix"
+ }
+ },
+ "sops-nix": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1775188331,
+ "narHash": "sha256-/0BoSi0Dg0ON7IW0oscM12WSPBaMSCn36XTt0lHZoy8=",
+ "owner": "Mic92",
+ "repo": "sops-nix",
+ "rev": "8f093d0d2f08f37317778bd94db5951d6cce6c46",
+ "type": "github"
+ },
+ "original": {
+ "owner": "Mic92",
+ "repo": "sops-nix",
+ "type": "github"
+ }
+ },
+ "systems": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "systems_2": {
+ "locked": {
+ "lastModified": 1689347949,
+ "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
+ "owner": "nix-systems",
+ "repo": "default-linux",
+ "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default-linux",
+ "type": "github"
+ }
+ },
+ "treefmt-nix": {
+ "inputs": {
+ "nixpkgs": [
+ "noctalia",
+ "noctalia-qs",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1773297127,
+ "narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=",
+ "owner": "numtide",
+ "repo": "treefmt-nix",
+ "rev": "71b125cd05fbfd78cab3e070b73544abe24c5016",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "treefmt-nix",
+ "type": "github"
+ }
+ },
+ "xwayland-satellite-stable": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1755491097,
+ "narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=",
+ "owner": "Supreeeme",
+ "repo": "xwayland-satellite",
+ "rev": "388d291e82ffbc73be18169d39470f340707edaa",
+ "type": "github"
+ },
+ "original": {
+ "owner": "Supreeeme",
+ "ref": "v0.7",
+ "repo": "xwayland-satellite",
+ "type": "github"
+ }
+ },
+ "xwayland-satellite-unstable": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1773622265,
+ "narHash": "sha256-wToKwH7IgWdGLMSIWksEDs4eumR6UbbsuPQ42r0oTXQ=",
+ "owner": "Supreeeme",
+ "repo": "xwayland-satellite",
+ "rev": "a879e5e0896a326adc79c474bf457b8b99011027",
+ "type": "github"
+ },
+ "original": {
+ "owner": "Supreeeme",
+ "repo": "xwayland-satellite",
+ "type": "github"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/modules/dotfiles.nix b/modules/dotfiles.nix
@@ -2,6 +2,6 @@
dotfiles = builtins.fetchGit {
url = "git://popovic.xyz/dots.git";
ref = "master";
- rev = "9601661483c02e24aa2c578f31dfbb6abc0575a2";
+ rev = "77e6504385113bb99ed92200909f6fb3e42bf210";
};
}
diff --git a/modules/mbsync_timer.nix b/modules/mbsync_timer.nix
@@ -1,4 +1,4 @@
-{ pkgs , ... }:
+{ pkgs, ... }:
{
systemd.user = {
startServices = "sd-switch";
@@ -32,5 +32,19 @@
WantedBy = [ "timers.target" ];
};
};
+ services.monitor-wakeup = {
+ Unit = {
+ Description = "Wake up external monitors after sleep/hiberanate";
+ RefuseManualStart = "no";
+ RefuseManualStop = "yes";
+ };
+ Service = {
+ Type = "oneshot";
+ ExecStart = "${pkgs.zsh}/bin/zsh -c 'zsh .local/bin/scripts/niri-wakeup-monitors'";
+ };
+ Install = {
+ wantedBy = [ "default.target" ];
+ };
+ };
};
}
diff --git a/modules/niri.nix b/modules/niri.nix
@@ -289,7 +289,7 @@
};
};
input = {
- focus-follows-mouse.enable = true;
+ focus-follows-mouse.enable = false;
keyboard = {
xkb = {
layout = "us,de";