save last state

This commit is contained in:
2024-12-30 13:14:54 +01:00
parent 54f891fc65
commit 4ad01591aa
24 changed files with 1120 additions and 155 deletions

323
flake.lock generated
View File

@@ -79,15 +79,14 @@
"flake-schemas": "flake-schemas", "flake-schemas": "flake-schemas",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"jovian": "jovian", "jovian": "jovian",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_3"
"nixpkgs-small": "nixpkgs-small"
}, },
"locked": { "locked": {
"lastModified": 1734987419, "lastModified": 1735509923,
"narHash": "sha256-2K4V615Y29QhMUShX9k52l7gXF2erkq9yH9qGRZGKQ0=", "narHash": "sha256-oepXx1SWadUMvRWn7dXmIMpwfRC0ZLD0d/6ZW0meFN0=",
"owner": "chaotic-cx", "owner": "chaotic-cx",
"repo": "nyx", "repo": "nyx",
"rev": "d61084b851dbf3072f8b40c3870b0f7938ca3f22", "rev": "5ace86fdaab9ab74d6a4ab8ecf64c57230d3cb8a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -157,11 +156,11 @@
"rust-analyzer-src": "rust-analyzer-src" "rust-analyzer-src": "rust-analyzer-src"
}, },
"locked": { "locked": {
"lastModified": 1735367591, "lastModified": 1735540357,
"narHash": "sha256-a5EMHpDAxLShxBKUdDVmqZMlfiuOtOUzet2xT/E/RiM=", "narHash": "sha256-XbIfjxEOM6JmLCILozlFEUrfCpXvQNo9l+VAU7FCahI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "fenix", "repo": "fenix",
"rev": "3743208cafd7bc3c150f0c77c25ef7430e9c0de2", "rev": "92bb57bf88e4b8e6b4fe4e79fbfff2fc3f04df88",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -173,11 +172,11 @@
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1733328505, "lastModified": 1696426674,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -387,6 +386,41 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_4": {
"inputs": {
"systems": "systems_10"
},
"locked": {
"lastModified": 1726560853,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"freetype2": {
"flake": false,
"locked": {
"lastModified": 1687587065,
"narHash": "sha256-+Fh+/k+NWL5Ow9sDLtp8Cv/8rLNA1oByQQCIQS/bysY=",
"owner": "wez",
"repo": "freetype2",
"rev": "e4586d960f339cf75e2e0b34aee30a0ed8353c0d",
"type": "github"
},
"original": {
"owner": "wez",
"repo": "freetype2",
"rev": "e4586d960f339cf75e2e0b34aee30a0ed8353c0d",
"type": "github"
}
},
"ghostty": { "ghostty": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@@ -395,11 +429,11 @@
"zig": "zig" "zig": "zig"
}, },
"locked": { "locked": {
"lastModified": 1735362327, "lastModified": 1735535921,
"narHash": "sha256-kD49xAUMCWU60IRKoJiyJTaEUum7rk45OYjZfwWr3Ck=", "narHash": "sha256-cfsHww91bRA2Frni54+blIGZGU9/269vaWzeGcNRNN0=",
"owner": "ghostty-org", "owner": "ghostty-org",
"repo": "ghostty", "repo": "ghostty",
"rev": "6cbd69da7839260508466f9dfb2bc0c0fbb43991", "rev": "87bd0bb744d6a1c45022aa39f21219d0b6ff3261",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -454,11 +488,11 @@
}, },
"hardware": { "hardware": {
"locked": { "locked": {
"lastModified": 1734954597, "lastModified": 1735388221,
"narHash": "sha256-QIhd8/0x30gEv8XEE1iAnrdMlKuQ0EzthfDR7Hwl+fk=", "narHash": "sha256-e5IOgjQf0SZcFCEV/gMGrsI0gCJyqOKShBQU0iiM3Kg=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "def1d472c832d77885f174089b0d34854b007198", "rev": "7c674c6734f61157e321db595dbfcd8523e04e19",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -467,6 +501,23 @@
"type": "github" "type": "github"
} }
}, },
"harfbuzz": {
"flake": false,
"locked": {
"lastModified": 1711722720,
"narHash": "sha256-GdxcAPx5QyniSHPAN1ih28AD9JLUPR0ItqW9JEsl3pU=",
"owner": "harfbuzz",
"repo": "harfbuzz",
"rev": "63973005bc07aba599b47fdd4cf788647b601ccd",
"type": "github"
},
"original": {
"owner": "harfbuzz",
"ref": "8.4.0",
"repo": "harfbuzz",
"type": "github"
}
},
"helix-flake": { "helix-flake": {
"inputs": { "inputs": {
"crane": "crane", "crane": "crane",
@@ -475,11 +526,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1735311473, "lastModified": 1735490308,
"narHash": "sha256-PIAQe6E07XFYYwv0ARV9oqgV/d30etcMKEEBzyyI1NU=", "narHash": "sha256-aU6svFKnYSbOeorLcfLvUBBtx6G6381CM6Uo2PwaUrk=",
"owner": "helix-editor", "owner": "helix-editor",
"repo": "helix", "repo": "helix",
"rev": "a5a7cff311e909ecab41f840742a5309634aeec3", "rev": "9cc056e755273156b01cedf47a8cdfdf82d84252",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -624,11 +675,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733684019, "lastModified": 1734906236,
"narHash": "sha256-2kYREgmSmbLsmDpLEq96hxVAU3qz8aCvVhF65yCFZHY=", "narHash": "sha256-vH/ysV2ONGQgYZPtcJKwc8jJivzyVxru2aaOxC20ZOE=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprgraphics", "repo": "hyprgraphics",
"rev": "fb2c0268645a77403af3b8a4ce8fa7ba5917f15d", "rev": "6dea3fba08fd704dd624b6d4b261638fb4003c9c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -715,11 +766,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1735336272, "lastModified": 1735514352,
"narHash": "sha256-kPRvGB80n5Nmqw17z+im4+ssDFGOfQSnP2LKQNdprBs=", "narHash": "sha256-EivxqI3NluU/ltdpzly5oyhe+C0oC6dZby2lnf5kBgc=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland", "repo": "hyprland",
"rev": "c600e1aaff293303c8256aca7d2889fc4289e8c2", "rev": "cb211d83f68542e9fbf7567d57bdf528286cbf7e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -843,6 +894,7 @@
"hyprland", "hyprland",
"hyprutils" "hyprutils"
], ],
"hyprwayland-scanner": "hyprwayland-scanner_2",
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
"nixpkgs" "nixpkgs"
@@ -853,11 +905,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1735312862, "lastModified": 1735497496,
"narHash": "sha256-vvLjD1nfhgb665bmUtAsbeP0iZ0a/BXVetuKiVWISdQ=", "narHash": "sha256-lT6f/5NB73xj9cVesi2SNsL5jVciwZJp8QRohiv+3Hk=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlock", "repo": "hyprlock",
"rev": "d212f4cc1013f12b6691b0ea851b27c088dd8eb8", "rev": "3d63d9b129d5def270bc8a2471347e6f97274e2b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -877,7 +929,7 @@
"hyprland", "hyprland",
"hyprutils" "hyprutils"
], ],
"hyprwayland-scanner": "hyprwayland-scanner_2", "hyprwayland-scanner": "hyprwayland-scanner_3",
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
"nixpkgs" "nixpkgs"
@@ -888,11 +940,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1734906298, "lastModified": 1735493740,
"narHash": "sha256-L0zaWJi2wS/kgdY1WOM8xJuiXDBDh1TMMKLRcmy5ycs=", "narHash": "sha256-QmfXYQxWmT2w5wx8y4CCADaMdMBiCPxK2M+8/iP1110=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprpaper", "repo": "hyprpaper",
"rev": "2f305d5f480c12882578e74498301129705a1bb5", "rev": "505e447b6c48e6b49f3aecf5da276f3cc5780054",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -952,6 +1004,31 @@
} }
}, },
"hyprwayland-scanner_2": { "hyprwayland-scanner_2": {
"inputs": {
"nixpkgs": [
"hyprlock",
"nixpkgs"
],
"systems": [
"hyprlock",
"systems"
]
},
"locked": {
"lastModified": 1735493474,
"narHash": "sha256-fktzv4NaqKm94VAkAoVqO/nqQlw+X0/tJJNAeCSfzK4=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "de913476b59ee88685fdc018e77b8f6637a2ae0b",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"hyprwayland-scanner_3": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"hyprpaper", "hyprpaper",
@@ -985,11 +1062,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1734725857, "lastModified": 1735330405,
"narHash": "sha256-bivlV9l/UjMtTfz/CZaoNJ5RfH2Lre4P9Ds64conoUQ=", "narHash": "sha256-MhXgu1oymyjhhZGY9yewNonJknNAjilzMGPY1FfMR7s=",
"owner": "Jovian-Experiments", "owner": "Jovian-Experiments",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"rev": "dbae2fd6adaf34c947d310bec08deac7c4ed265b", "rev": "a86d9cf841eff8b33a05d2bf25788abd8e018dbd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1021,6 +1098,23 @@
"type": "github" "type": "github"
} }
}, },
"libpng": {
"flake": false,
"locked": {
"lastModified": 1549245649,
"narHash": "sha256-1+cRp0Ungme/OGfc9kGJbklYIWAFxk8Il1M+NV4KSgw=",
"owner": "glennrp",
"repo": "libpng",
"rev": "8439534daa1d3a5705ba92e653eda9251246dd61",
"type": "github"
},
"original": {
"owner": "glennrp",
"repo": "libpng",
"rev": "8439534daa1d3a5705ba92e653eda9251246dd61",
"type": "github"
}
},
"microfetch": { "microfetch": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_7" "nixpkgs": "nixpkgs_7"
@@ -1113,11 +1207,11 @@
"umu": "umu" "umu": "umu"
}, },
"locked": { "locked": {
"lastModified": 1735090720, "lastModified": 1735481011,
"narHash": "sha256-Abx/6obaYLgFio8g06pcmMaRPwjKo/bOn1P+gsDMVg0=", "narHash": "sha256-u5yRymUN2ZuOavCj1HY1Le0Uyyg2azCTtZRLiXfOpo8=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "95f1cc7ebe63b5a5af6c2d206ffd422739c5959e", "rev": "578b00c7c0db22464e50d7ae2f492dd9438a284c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1177,29 +1271,13 @@
"url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz"
} }
}, },
"nixpkgs-small": {
"locked": {
"lastModified": 1734838250,
"narHash": "sha256-Xi8ST/QiyuYXc3ujnMYOBuRUaMh6p16XWH6BKARa7xQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "da8a31d09dd004be34b5c54eda83f9a27b357726",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable-small",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1735380119, "lastModified": 1733423277,
"narHash": "sha256-A2ZFfk1ztBZk2l7ghx86VLgDYiIMCLdAQbrEsB1xFTw=", "narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "460a2ed3c781c1f30a3cbc4aa165298e4c4f2bc2", "rev": "e36963a147267afc055f7cf65225958633e536bf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1243,11 +1321,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1735268880, "lastModified": 1733229606,
"narHash": "sha256-7QEFnKkzD13SPxs+UFR5bUFN2fRw+GlL0am72ZjNre4=", "narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7cc0bff31a3a705d3ac4fdceb030a17239412210", "rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1291,11 +1369,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1734649271, "lastModified": 1735291276,
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", "narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", "rev": "634fd46801442d760e09493a794c4f15db2d0cbb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1370,11 +1448,11 @@
}, },
"nixpkgs_8": { "nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1735291276, "lastModified": 1735471104,
"narHash": "sha256-NYVcA06+blsLG6wpAbSPTCyLvxD/92Hy4vlY9WxFI1M=", "narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "634fd46801442d760e09493a794c4f15db2d0cbb", "rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -3543,17 +3621,18 @@
"nvf": "nvf", "nvf": "nvf",
"systems": "systems_8", "systems": "systems_8",
"tuirun": "tuirun", "tuirun": "tuirun",
"wezterm": "wezterm",
"zen-browser": "zen-browser" "zen-browser": "zen-browser"
} }
}, },
"rust-analyzer-src": { "rust-analyzer-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1735338518, "lastModified": 1735485512,
"narHash": "sha256-Cdotb7yLgRBVTkhIF6XEtC9ui62X+sO7251YcDXour0=", "narHash": "sha256-B9tZfdCnZF7Qo/Ys/LgKtUlzIr38c9fDYgo/XcS8Gtc=",
"owner": "rust-lang", "owner": "rust-lang",
"repo": "rust-analyzer", "repo": "rust-analyzer",
"rev": "d3bb15ecec7c1386767c45776fab497e8a22a30f", "rev": "59bc7b49d0ad319de8c477c63da552cbc8a05e4c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -3627,6 +3706,27 @@
"type": "github" "type": "github"
} }
}, },
"rust-overlay_4": {
"inputs": {
"nixpkgs": [
"wezterm",
"nixpkgs"
]
},
"locked": {
"lastModified": 1729477859,
"narHash": "sha256-r0VyeJxy4O4CgTB/PNtfQft9fPfN1VuGvnZiCxDArvg=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "ada8266712449c4c0e6ee6fcbc442b3c217c79e1",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"systems": { "systems": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
@@ -3642,6 +3742,21 @@
"type": "github" "type": "github"
} }
}, },
"systems_10": {
"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": { "systems_2": {
"locked": { "locked": {
"lastModified": 1689347949, "lastModified": 1689347949,
@@ -3771,11 +3886,11 @@
"systems": "systems_9" "systems": "systems_9"
}, },
"locked": { "locked": {
"lastModified": 1735387776, "lastModified": 1735478319,
"narHash": "sha256-4s1V+melYSTBEZ4l1mUe6p7lfiIUoM1pnRWrNYtbhHs=", "narHash": "sha256-K+emxdyU5Kne6PUxEhqRH8Vj+E75UaO6QKbLqAJURaY=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "8df9dfcc7e308ac35455d2d0529c32400b1b960b", "rev": "b6aeef7235191118d76be93911aafbb740d0371b",
"revCount": 34, "revCount": 35,
"type": "git", "type": "git",
"url": "https://git.sr.ht/~canasta/tuirun" "url": "https://git.sr.ht/~canasta/tuirun"
}, },
@@ -3793,11 +3908,11 @@
}, },
"locked": { "locked": {
"dir": "packaging/nix", "dir": "packaging/nix",
"lastModified": 1734207213, "lastModified": 1735507919,
"narHash": "sha256-5CZPAeKm24Y1BKnN8Md3HUViCMCs7AVghRC+05Bdlkk=", "narHash": "sha256-4cR4mk1660p3y8wnX0XbHSQh4KX0mbMn6/2YnALNt8o=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "6189d0d9fd062e89a375db20aeae1d1c009e9833", "rev": "59a82ea8cd284c7535bc06b8f6156abb7da96f6a",
"revCount": 869, "revCount": 874,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/Open-Wine-Components/umu-launcher/" "url": "https://github.com/Open-Wine-Components/umu-launcher/"
@@ -3824,6 +3939,35 @@
"type": "github" "type": "github"
} }
}, },
"wezterm": {
"inputs": {
"flake-utils": "flake-utils_4",
"freetype2": "freetype2",
"harfbuzz": "harfbuzz",
"libpng": "libpng",
"nixpkgs": [
"nixpkgs"
],
"rust-overlay": "rust-overlay_4",
"zlib": "zlib"
},
"locked": {
"dir": "nix",
"lastModified": 1733412933,
"narHash": "sha256-2OPDEgUEh0B6OIcSWtBbkw/zFi8r2VfluLj7FebTaVA=",
"owner": "wez",
"repo": "wezterm",
"rev": "6f375e29a2c4d70b8b51956edd494693196c6692",
"type": "github"
},
"original": {
"dir": "nix",
"owner": "wez",
"ref": "main",
"repo": "wezterm",
"type": "github"
}
},
"xdph": { "xdph": {
"inputs": { "inputs": {
"hyprland-protocols": [ "hyprland-protocols": [
@@ -3897,11 +4041,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1735345735, "lastModified": 1717848532,
"narHash": "sha256-npV0buuzGZdrstAPJMXNlq1MyrnSigVGBG105khKhoI=", "narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=",
"owner": "mitchellh", "owner": "mitchellh",
"repo": "zig-overlay", "repo": "zig-overlay",
"rev": "7e09350be2e1622e125e734166edbfacdd8702af", "rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -3909,6 +4053,23 @@
"repo": "zig-overlay", "repo": "zig-overlay",
"type": "github" "type": "github"
} }
},
"zlib": {
"flake": false,
"locked": {
"lastModified": 1484501380,
"narHash": "sha256-j5b6aki1ztrzfCqu8y729sPar8GpyQWIrajdzpJC+ww=",
"owner": "madler",
"repo": "zlib",
"rev": "cacf7f1d4e3d44d871b605da3b647f07d718623f",
"type": "github"
},
"original": {
"owner": "madler",
"ref": "v1.2.11",
"repo": "zlib",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View File

@@ -105,6 +105,11 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
wezterm = {
url = "github:wez/wezterm/main?dir=nix";
inputs.nixpkgs.follows = "nixpkgs";
};
# Custom apps # Custom apps
tuirun = { tuirun = {
url = "git+https://git.sr.ht/~canasta/tuirun"; url = "git+https://git.sr.ht/~canasta/tuirun";

View File

@@ -8,7 +8,7 @@
in { in {
users.users.cnst = { users.users.cnst = {
isNormalUser = true; isNormalUser = true;
shell = pkgs.zsh; shell = pkgs.fish;
extraGroups = ifTheyExist [ extraGroups = ifTheyExist [
"wheel" "wheel"
"networkmanager" "networkmanager"

View File

@@ -60,6 +60,9 @@
corectrl = { corectrl = {
enable = true; enable = true;
}; };
fish = {
enable = true;
};
gamemode = { gamemode = {
enable = true; enable = true;
optimizeGpu = { optimizeGpu = {
@@ -70,7 +73,7 @@
enable = true; enable = true;
}; };
ghostty = { ghostty = {
enable = true; enable = false;
}; };
gimp = { gimp = {
enable = false; enable = false;
@@ -128,7 +131,7 @@
enable = true; enable = true;
}; };
zsh = { zsh = {
enable = true; enable = false;
}; };
}; };
services = { services = {

View File

@@ -11,6 +11,7 @@
./home/programs/eza ./home/programs/eza
./home/programs/floorp ./home/programs/floorp
./home/programs/firefox ./home/programs/firefox
./home/programs/fish
./home/programs/foot ./home/programs/foot
./home/programs/helix ./home/programs/helix
./home/programs/hyprland ./home/programs/hyprland
@@ -38,12 +39,14 @@
./home/services/blueman-applet ./home/services/blueman-applet
./home/services/copyq ./home/services/copyq
./home/services/dconf ./home/services/dconf
./home/services/dunst
./home/services/gpg ./home/services/gpg
./home/services/gtk ./home/services/gtk
./home/services/hypridle ./home/services/hypridle
./home/services/hyprpaper ./home/services/hyprpaper
./home/services/mako ./home/services/mako
./home/services/protonmail-bridge ./home/services/protonmail-bridge
./home/services/swaync
./home/services/syncthing ./home/services/syncthing
./home/services/udiskie ./home/services/udiskie
./home/services/xdg ./home/services/xdg
@@ -65,6 +68,7 @@
./nixos/programs/beekeeper ./nixos/programs/beekeeper
./nixos/programs/blender ./nixos/programs/blender
./nixos/programs/corectrl ./nixos/programs/corectrl
./nixos/programs/fish
./nixos/programs/gamemode ./nixos/programs/gamemode
./nixos/programs/gamescope ./nixos/programs/gamescope
./nixos/programs/ghostty ./nixos/programs/ghostty

View File

@@ -0,0 +1,113 @@
{
config,
lib,
pkgs,
...
}: let
inherit (lib) mkIf mkEnableOption;
inherit (lib.meta) getExe;
inherit (pkgs) eza bat;
cfg = config.home.programs.fish;
in {
# imports = [./tide.nix];
options = {
home.programs.fish.enable = mkEnableOption "Enables fish home configuration";
};
config = mkIf cfg.enable {
programs.fish = {
enable = true;
plugins = [
{
name = "hydro";
src = pkgs.fishPlugins.hydro;
}
];
shellAbbrs = {
extract = "extract.sh";
homemodules = "$EDITOR /home/$USER/.nix-config/users/$USER/modules.nix";
hmod = "$EDITOR /home/$USER/.nix-config/users/$USER/modules.nix";
nixosmodules = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/modules.nix";
nmod = "$EDITOR /home/$USER/.nix-config/hosts/$hostname/modules.nix";
nixcleanboot = "sudo nix run /home/$USER/.nix-config#cleanup-boot";
nixclean = "nh clean all --keep 3";
nixdev = "nix develop ~/.nix-config -c $SHELL";
nixconfig = "cd /home/$USER/.nix-config/";
nixup = "nh os switch -H $hostname";
nixupv = "nh os switch -v -H $hostname";
flakeup = "nix flake update";
};
shellAliases = {
".." = "cd ..";
"..." = "cd ../../";
"...." = "cd ../../../";
"....." = "cd ../../../../";
"......" = "cd ../../../../../";
tree = "${getExe eza} --tree --icons=always";
cat = "${getExe bat} --style=plain";
ls = "${getExe eza} -h --git --icons --color=auto --group-directories-first -s extension";
ll = "${getExe eza} -l --git --icons --color=auto --group-directories-first -s extension";
la = "${getExe eza} -lah --tree";
# Clear screen and scrollback
clear = "printf '\\033[2J\\033[3J\\033[1;1H'";
};
functions = {
# Disable greeting
fish_greeting = "";
# Merge history when pressing up
up-or-search = lib.readFile ./up-or-search.fish;
# Check stuff in PATH
nix-inspect =
/*
fish
*/
''
set -s PATH | grep "PATH\[.*/nix/store" | cut -d '|' -f2 | grep -v -e "-man" -e "-terminfo" | perl -pe 's:^/nix/store/\w{32}-([^/]*)/bin$:\1:' | sort | uniq
'';
};
interactiveShellInit =
/*
fish
*/
''
# Open command buffer in vim when alt+e is pressed
bind \ee edit_command_buffer
# Use vim bindings and cursors
fish_vi_key_bindings
set fish_cursor_default block blink
set fish_cursor_insert line blink
set fish_cursor_replace_one underscore blink
set fish_cursor_visual block
# Use terminal colors
set -x fish_color_autosuggestion brblack
set -x fish_color_cancel -r
set -x fish_color_command brgreen
set -x fish_color_comment brmagenta
set -x fish_color_cwd green
set -x fish_color_cwd_root red
set -x fish_color_end brmagenta
set -x fish_color_error brred
set -x fish_color_escape brcyan
set -x fish_color_history_current --bold
set -x fish_color_host normal
set -x fish_color_host_remote yellow
set -x fish_color_match --background=brblue
set -x fish_color_normal normal
set -x fish_color_operator cyan
set -x fish_color_param brblue
set -x fish_color_quote yellow
set -x fish_color_redirection bryellow
set -x fish_color_search_match 'bryellow' '--background=brblack'
set -x fish_color_selection 'white' '--bold' '--background=brblack'
set -x fish_color_status red
set -x fish_color_user brgreen
set -x fish_color_valid_path --underline
set -x fish_pager_color_completion normal
set -x fish_pager_color_description yellow
set -x fish_pager_color_prefix 'white' '--bold' '--underline'
set -x fish_pager_color_progress 'brwhite' '--background=cyan'
'';
};
};
}

View File

@@ -0,0 +1,221 @@
{pkgs, ...}: {
programs.fish = {
plugins = [
{
name = "hydro";
src = pkgs.fetchFromGitHub {
owner = "jorgebucaran";
repo = "hydro";
rev = "75ab7168a35358b3d08eeefad4ff0dd306bd80d4";
hash = "sha256-85iU1QzcZmZYGhK30/ZaKwJNLTsx+j3w6St8bFiQWxc=";
};
}
];
interactiveShellInit =
/*
fish
*/
''
set -x tide_character_color "brgreen"
set -x tide_character_color_failure "brred"
set -x tide_character_icon ">"
set -x tide_character_vi_icon_default "<"
set -x tide_character_vi_icon_replace "|"
set -x tide_character_vi_icon_visual "V"
set -x tide_status_bg_color "normal"
set -x tide_status_bg_color_failure "normal"
set -x tide_status_color "green"
set -x tide_status_color_failure "red"
set -x tide_status_icon ""
set -x tide_status_icon_failure " "
set -x tide_vi_mode_bg_color_default "normal"
set -x tide_vi_mode_bg_color_insert "normal"
set -x tide_vi_mode_bg_color_replace "normal"
set -x tide_vi_mode_bg_color_visual "normal"
set -x tide_vi_mode_color_default "white"
set -x tide_vi_mode_color_insert "cyan"
set -x tide_vi_mode_color_replace "green"
set -x tide_vi_mode_color_visual "yellow"
set -x tide_vi_mode_icon_default "D"
set -x tide_vi_mode_icon_insert "I"
set -x tide_vi_mode_icon_replace "R"
set -x tide_vi_mode_icon_visual "V"
set -x tide_prompt_add_newline_before "true"
set -x tide_prompt_color_frame_and_connection "brblack"
set -x tide_prompt_color_separator_same_color "brblack"
set -x tide_prompt_icon_connection " "
set -x tide_prompt_min_cols "34"
set -x tide_prompt_pad_items "false"
set -x tide_prompt_transient_enabled "false"
set -x tide_left_prompt_frame_enabled "false"
set -x tide_left_prompt_items pwd git newline character
set -x tide_left_prompt_prefix ""
set -x tide_left_prompt_separator_diff_color " "
set -x tide_left_prompt_separator_same_color " "
set -x tide_left_prompt_suffix " "
set -x tide_right_prompt_frame_enabled "false"
set -x tide_right_prompt_items status cmd_duration context jobs direnv time newline bun node python rustc java php pulumi ruby go gcloud kubectl distrobox toolbox terraform crystal elixir zig
set -x tide_right_prompt_prefix " "
set -x tide_right_prompt_separator_diff_color " "
set -x tide_right_prompt_separator_same_color " "
set -x tide_right_prompt_suffix ""
set -x tide_pwd_bg_color "normal"
set -x tide_pwd_color_anchors "brcyan"
set -x tide_pwd_color_dirs "cyan"
set -x tide_pwd_color_truncated_dirs "magenta"
set -x tide_pwd_icon ""
set -x tide_pwd_icon_home ""
set -x tide_pwd_icon_unwritable ""
set -x tide_pwd_markers .bzr .citc .git .hg .node-version .python-version .ruby-version .shorten_folder_marker .svn .terraform bun.lockb Cargo.toml composer.json CVS go.mod package.json build.zig
set -x tide_cmd_duration_bg_color "normal"
set -x tide_cmd_duration_color "brblack"
set -x tide_cmd_duration_decimals "0"
set -x tide_cmd_duration_icon ""
set -x tide_cmd_duration_threshold "3000"
set -x tide_context_always_display "false"
set -x tide_context_bg_color "normal"
set -x tide_context_color_default "yellow"
set -x tide_context_color_root "bryellow"
set -x tide_context_color_ssh "yellow"
set -x tide_context_hostname_parts "1"
set -x tide_shlvl_bg_color "normal"
set -x tide_shlvl_color "yellow"
set -x tide_shlvl_icon ""
set -x tide_shlvl_threshold "1"
set -x tide_git_bg_color "normal"
set -x tide_git_bg_color_unstable "normal"
set -x tide_git_bg_color_urgent "normal"
set -x tide_git_color_branch "brgreen"
set -x tide_git_color_conflicted "brred"
set -x tide_git_color_dirty "bryellow"
set -x tide_git_color_operation "brred"
set -x tide_git_color_staged "bryellow"
set -x tide_git_color_stash "brgreen"
set -x tide_git_color_untracked "brblue"
set -x tide_git_color_upstream "brgreen"
set -x tide_git_icon ""
set -x tide_git_truncation_length "24"
set -x tide_git_truncation_strategy ""
set -x tide_direnv_bg_color "normal"
set -x tide_direnv_bg_color_denied "normal"
set -x tide_direnv_color "bryellow"
set -x tide_direnv_color_denied "brred"
set -x tide_direnv_icon ""
set -x tide_private_mode_bg_color "normal"
set -x tide_private_mode_color "brwhite"
set -x tide_private_mode_icon "󰗹"
# Langs, tools
set -x tide_aws_bg_color "normal"
set -x tide_aws_color "yellow"
set -x tide_aws_icon ""
set -x tide_bun_bg_color "normal"
set -x tide_bun_color "white"
set -x tide_bun_icon "󰳓"
set -x tide_crystal_bg_color "normal"
set -x tide_crystal_color "brwhite"
set -x tide_crystal_icon ""
set -x tide_distrobox_bg_color "normal"
set -x tide_distrobox_color "brmagenta"
set -x tide_distrobox_icon "󰆧"
set -x tide_docker_bg_color "normal"
set -x tide_docker_color "blue"
set -x tide_docker_default_contexts default colima
set -x tide_docker_icon ""
set -x tide_elixir_bg_color "normal"
set -x tide_elixir_color "magenta"
set -x tide_elixir_icon ""
set -x tide_gcloud_bg_color "normal"
set -x tide_gcloud_color "blue"
set -x tide_gcloud_icon "󰊭"
set -x tide_go_bg_color "normal"
set -x tide_go_color "brcyan"
set -x tide_go_icon ""
set -x tide_java_bg_color "normal"
set -x tide_java_color "yellow"
set -x tide_java_icon ""
set -x tide_jobs_bg_color "normal"
set -x tide_jobs_color "green"
set -x tide_jobs_icon ""
set -x tide_jobs_number_threshold "1000"
set -x tide_kubectl_bg_color "normal"
set -x tide_kubectl_color "blue"
set -x tide_kubectl_icon "󱃾"
set -x tide_nix3_shell_bg_color "normal"
set -x tide_nix3_shell_color "brblue"
set -x tide_nix3_shell_icon ""
set -x tide_juju_bg_color "normal"
set -x tide_juju_color "yellow"
set -x tide_juju_icon ""
set -x tide_node_bg_color "normal"
set -x tide_node_color "green"
set -x tide_node_icon ""
set -x tide_os_bg_color "normal"
set -x tide_os_color "brwhite"
set -x tide_os_icon ""
set -x tide_php_bg_color "normal"
set -x tide_php_color "blue"
set -x tide_php_icon ""
set -x tide_pulumi_bg_color "normal"
set -x tide_pulumi_color "yellow"
set -x tide_pulumi_icon ""
set -x tide_python_bg_color "normal"
set -x tide_python_color "cyan"
set -x tide_python_icon "󰌠"
set -x tide_ruby_bg_color "normal"
set -x tide_ruby_color "red"
set -x tide_ruby_icon ""
set -x tide_rustc_bg_color "normal"
set -x tide_rustc_color "red"
set -x tide_rustc_icon ""
set -x tide_terraform_bg_color "normal"
set -x tide_terraform_color "magenta"
set -x tide_terraform_icon "󱁢"
set -x tide_time_bg_color "normal"
set -x tide_time_color "brblack"
set -x tide_time_format "%T"
set -x tide_toolbox_bg_color "normal"
set -x tide_toolbox_color "magenta"
set -x tide_toolbox_icon ""
set -x tide_zig_bg_color "normal"
set -x tide_zig_color "yellow"
set -x tide_zig_icon ""
'';
};
}

View File

@@ -0,0 +1,22 @@
# Taken from Misterio77 https://github.com/Misterio77/nix-config/blob/main/home/gabriel/features/cli/fish/up-or-search.fish
# Merge history upon doing up-or-search
# This lets multiple fish instances share history
if commandline --search-mode
commandline -f history-search-backward
return
end
if commandline --paging-mode
commandline -f up-line
return
end
set -l lineno (commandline -L)
switch $lineno
case 1
commandline -f history-search-backward
# Here we go
history merge
case '*'
commandline -f up-line
end

View File

@@ -24,11 +24,11 @@ in {
# Common Keybind Variables # Common Keybind Variables
"$fileManager" = "thunar"; "$fileManager" = "thunar";
"$yazi" = "foot -e yazi"; "$yazi" = "foot -e yazi";
"$tuirun" = "tuirun-toggle.sh"; "$launcher" = "tuirun";
bind = [ bind = [
"$mod, SPACE, exec, tuirun" "$mod, SPACE, exec, uwsm app -T $launcher"
"$mod, R, exec, $tuirun" "$mod, R, exec, uwsm app -T $launcher"
"$mod, L, exec, ${toggle "nwg-bar"}" "$mod, L, exec, ${toggle "nwg-bar"}"
"$mod SHIFT, B, exec, pkill -SIGUSR2 waybar" "$mod SHIFT, B, exec, pkill -SIGUSR2 waybar"
"$mod, A, exec, pkill -SIGUSR1 waybar" "$mod, A, exec, pkill -SIGUSR1 waybar"
@@ -95,7 +95,7 @@ in {
(mkIf (host == "cnix") { (mkIf (host == "cnix") {
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = {
"$terminal" = "ghostty"; "$terminal" = "wezterm";
"$browser" = "zen"; "$browser" = "zen";
"$browserinc" = "zen --private-window"; "$browserinc" = "zen --private-window";
"$mod" = "SUPER"; "$mod" = "SUPER";

View File

@@ -19,11 +19,11 @@ in {
"float, initialTitle:^(floatcal)$" "float, initialTitle:^(floatcal)$"
# === TUIRUN SETTINGS === # === TUIRUN SETTINGS ===
"size 600 300, initialTitle:^(tuirun)$" "size 600 300, title:^(tuirun)$"
"center, initialTitle:^(tuirun)$" "center, title:^(tuirun)$"
# "workspace special:tuirun, initialTitle:^(tuirun)$" # "workspace special:tuirun, initialTitle:^(tuirun)$"
"noborder, initialTitle:^(tuirun)$" "noborder, title:^(tuirun)$"
"float, initialTitle:^(tuirun)$" "float, title:^(tuirun)$"
# === KEEPASSXC SETTINGS === # === KEEPASSXC SETTINGS ===
"size 843 530, class:^(org.keepassxc.KeePassXC)$" "size 843 530, class:^(org.keepassxc.KeePassXC)$"
@@ -57,12 +57,8 @@ in {
"float, class:^(feh)$" "float, class:^(feh)$"
"float, class:^(polkit-gnome-authentication-agent-1)$" "float, class:^(polkit-gnome-authentication-agent-1)$"
"float, class:^(org.gnome.Calculator)$" "float, class:^(org.gnome.Calculator)$"
"float, class:^(Lxappearance)$"
"float, class:^(com.github.hluk.copyq)$" "float, class:^(com.github.hluk.copyq)$"
"float, class:^(blueman-manager)$" "float, class:^(blueman-manager)$"
"float, class:^(floatranger)$"
"float, class:^(floatnnn)$"
"float, class:^(uwsm app -- tuirun)$"
]; ];
windowrule = []; windowrule = [];
layerrule = [ layerrule = [

View File

@@ -17,21 +17,21 @@ in {
name = config.programs.git.userName; name = config.programs.git.userName;
email = config.programs.git.userEmail; email = config.programs.git.userEmail;
}; };
# ui = { ui = {
# diff-editor = lib.mkIf config.programs.neovim.enable [ diff-editor = lib.mkIf config.programs.helix.enable [
# "nvim" "hx"
# "-c" "-c"
# "DiffEditor $left $right $output" "DiffEditor $left $right $output"
# ]; ];
# pager = "less -FRX"; pager = "less -FRX";
# }; };
# signing = let signing = let
# gitCfg = config.programs.git.extraConfig; gitCfg = config.programs.git.extraConfig;
# in { in {
# backend = "gpg"; backend = "ssh";
# sign-all = gitCfg.commit.gpgSign; sign-all = true;
# key = gitCfg.user.signing.key; key = gitCfg.signing.key;
# }; };
templates = { templates = {
draft_commit_description = '' draft_commit_description = ''
concat( concat(

View File

@@ -13,9 +13,15 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.rofi = { programs.rofi = {
enable = true; enable = true;
package = pkgs.rofi-wayland-unwrapped; package = pkgs.rofi-wayland;
configPath = "home/cnst/.config/rofi/config.rasi"; extraConfig = {
font = "Rec Mono Linear 11"; font = "Input Mono Narrow Light 12";
show-icons = true;
drun-display-format = "{name}";
disable-history = false;
sidebar-mode = false;
};
theme = ./style.rasi;
}; };
}; };
} }

View File

@@ -0,0 +1,186 @@
/* ==========================================================================
Rofi color theme
Based on the Gruvbox color scheme for Vim by morhetz
https://github.com/morhetz/gruvbox
File: gruvbox-dark-soft.rasi
Desc: Gruvbox dark (soft contrast) color theme for Rofi
Author: bardisty <b@bah.im>
Source: https://github.com/bardisty/gruvbox-rofi
Modified: Mon Feb 12 2018 06:04:37 PST -0800
========================================================================== */
* {
/* Theme settings */
highlight: bold italic;
scrollbar: true;
/* Gruvbox dark colors */
gruvbox-dark-bg0-soft: #32302f;
gruvbox-dark-bg1: #3c3836;
gruvbox-dark-bg3: #665c54;
gruvbox-dark-fg0: #fbf1c7;
gruvbox-dark-fg1: #ebdbb2;
gruvbox-dark-red-dark: #cc241d;
gruvbox-dark-red-light: #fb4934;
gruvbox-dark-yellow-dark: #d79921;
gruvbox-dark-yellow-light: #fabd2f;
gruvbox-dark-gray: #a89984;
/* Theme colors */
background: @gruvbox-dark-bg0-soft;
background-color: @background;
foreground: @gruvbox-dark-fg1;
border-color: @gruvbox-dark-gray;
separatorcolor: @border-color;
scrollbar-handle: @border-color;
normal-background: @background;
normal-foreground: @foreground;
alternate-normal-background: @gruvbox-dark-bg1;
alternate-normal-foreground: @foreground;
selected-normal-background: @gruvbox-dark-bg3;
selected-normal-foreground: @gruvbox-dark-fg0;
active-background: @gruvbox-dark-yellow-dark;
active-foreground: @background;
alternate-active-background: @active-background;
alternate-active-foreground: @active-foreground;
selected-active-background: @gruvbox-dark-yellow-light;
selected-active-foreground: @active-foreground;
urgent-background: @gruvbox-dark-red-dark;
urgent-foreground: @background;
alternate-urgent-background: @urgent-background;
alternate-urgent-foreground: @urgent-foreground;
selected-urgent-background: @gruvbox-dark-red-light;
selected-urgent-foreground: @urgent-foreground;
}
/* ==========================================================================
File: gruvbox-common.rasi
Desc: Shared rules between all gruvbox themes
Author: bardisty <b@bah.im>
Source: https://github.com/bardisty/gruvbox-rofi
Modified: Mon Feb 12 2018 06:06:47 PST -0800
========================================================================== */
window {
background-color: @background;
border: 2;
padding: 2;
}
mainbox {
border: 0;
padding: 0;
}
message {
border: 2px 0 0;
border-color: @separatorcolor;
padding: 1px;
}
textbox {
highlight: @highlight;
text-color: @foreground;
}
listview {
border: 2px solid 0 0;
padding: 2px 0 0;
border-color: @separatorcolor;
spacing: 2px;
scrollbar: @scrollbar;
}
element {
border: 0;
padding: 2px;
}
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
scrollbar {
width: 4px;
border: 0;
handle-color: @scrollbar-handle;
handle-width: 8px;
padding: 0;
}
sidebar {
border: 2px 0 0;
border-color: @separatorcolor;
}
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 2px;
children: [ prompt, textbox-prompt-sep, entry, case-indicator ];
}
case-indicator,
entry,
prompt,
button {
spacing: 0;
text-color: @normal-foreground;
}
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
textbox-prompt-sep {
expand: false;
str: ":";
text-color: @normal-foreground;
margin: 0 0.3em 0 0;
}

View File

@@ -41,7 +41,7 @@ in {
"backlight" "backlight"
"battery" "battery"
"clock" "clock"
"custom/mako" "custom/dunst"
]; ];
"hyprland/workspaces" = { "hyprland/workspaces" = {
@@ -120,6 +120,34 @@ in {
interval = 10; interval = 10;
}; };
"custom/dunst" = {
exec = "dunst.sh";
on-click = "dunstctl set-paused toggle";
restart-interval = 1;
tooltip = false;
};
"custom/swaync" = {
tooltip = false;
format = "{} {icon} ";
format-icons = {
"notification" = "󰂚<span foreground='red'><sup></sup></span>";
"none" = "󰂚";
"dnd-notification" = "󱏧<span foreground='red'><sup></sup></span>";
"dnd-none" = "󱏧";
"inhibited-notification" = "󰂚<span foreground='red'><sup></sup></span>";
"inhibited-none" = "󰂚";
"dnd-inhibited-notification" = "󱏧<span foreground='red'><sup></sup></span>";
"dnd-inhibited-none" = "󱏧";
};
return-type = "json";
exec-if = "which swaync-client";
exec = "swaync-client -swb";
on-click = "sleep 0.1 && swaync-client -t -sw";
on-click-right = "swaync-client -d -sw";
escape = true;
};
# "custom/mail" = { # "custom/mail" = {
# format-icons = { # format-icons = {
# icon = "<span foreground='#928374'> </span>"; # icon = "<span foreground='#928374'> </span>";

View File

@@ -6,8 +6,8 @@
... ...
}: let }: let
enable_wayland = "true"; enable_wayland = "true";
weztermPkg = pkgs.wezterm; # weztermPkg = pkgs.wezterm;
# weztermFlake = inputs.wezterm.packages.${pkgs.system}.default; weztermFlake = inputs.wezterm.packages.${pkgs.system}.default;
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.home.programs.wezterm; cfg = config.home.programs.wezterm;
in { in {
@@ -17,16 +17,15 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.wezterm = { programs.wezterm = {
enable = true; enable = true;
package = weztermPkg; package = weztermFlake;
extraConfig = extraConfig =
/* /*
lua lua
*/ */
'' ''
local wezterm = require 'wezterm'; local wezterm = require 'wezterm'
local config = { local config = {
-- font = wezterm.font("Input Mono Compressed"),
font_size = 12, font_size = 12,
check_for_updates = false, check_for_updates = false,
color_scheme = 'Gruvbox Material (Gogh)', color_scheme = 'Gruvbox Material (Gogh)',
@@ -37,20 +36,15 @@ in {
scrollback_lines = 10000, scrollback_lines = 10000,
window_background_opacity = 0.9, window_background_opacity = 0.9,
} }
if wezterm.target_triple == "x86_64-pc-windows-msvc" then
config.default_prog = { "powershell.exe" }
else
config.enable_wayland = ${enable_wayland} config.enable_wayland = ${enable_wayland}
-- config.window_decorations = "TITLE"
config.window_close_confirmation = "NeverPrompt" config.window_close_confirmation = "NeverPrompt"
-- config.freetype_load_target = "Light"
-- config.freetype_render_target = "HorizontalLcd"
local f = wezterm.font_with_fallback({ local f = wezterm.font_with_fallback({
{family="Input Mono Compressed", weight="Light"}, { family = "Input Mono Compressed", weight = "Light" },
{family="Input Sans Narrow", weight="Light"}, { family = "Input Sans Narrow", weight = "Light" },
}) })
config.font = f; config.font = f
end
return config return config
''; '';
}; };

View File

@@ -5,9 +5,9 @@
... ...
}: let }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.home.programs.zsh;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (pkgs) eza bat; inherit (pkgs) eza bat;
cfg = config.home.programs.zsh;
in { in {
options = { options = {
home.programs.zsh.enable = mkEnableOption "Enables zsh home configuration"; home.programs.zsh.enable = mkEnableOption "Enables zsh home configuration";
@@ -88,6 +88,11 @@ in {
ZSH_THEME_VIRTUALENV_SUFFIX=$ZSH_THEME_VIRTUAL_ENV_PROMPT_SUFFIX ZSH_THEME_VIRTUALENV_SUFFIX=$ZSH_THEME_VIRTUAL_ENV_PROMPT_SUFFIX
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=241' ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=241'
setopt PROMPT_CR
setopt PROMPT_SP
export PROMPT_EOL_MARK=""
microfetch microfetch
''; '';
}; };

View File

@@ -0,0 +1,48 @@
{
config,
lib,
pkgs,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.home.services.dunst;
in {
options = {
home.services.dunst.enable = mkEnableOption "Enables dunst";
};
config = mkIf cfg.enable {
services.dunst = {
enable = true;
iconTheme = {
package = pkgs.papirus-icon-theme;
name = "Papirus";
};
settings = {
global = {
browser = "${config.home.sessionVariables.BROWSER}";
padding = 16;
horizontal_padding = 16;
font = "Input Sans Compressed Light 12";
frame_color = "#4c7a5d";
separator_color = "#504945";
};
urgency_low = {
msg_urgency = "low";
background = "#665c54";
foreground = "#d5c4a1";
};
urgency_normal = {
msg_urgency = "normal";
background = "#3c3836";
foreground = "#d5c4a1";
# foreground = "#fbf1c7";
};
urgency_critical = {
msg_urgency = "critical";
background = "#282828";
foreground = "#c14a4a";
};
};
};
};
}

View File

@@ -0,0 +1,117 @@
{
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.home.services.swaync;
in {
options = {
home.services.swaync.enable = mkEnableOption "Enables swaync";
};
config = mkIf cfg.enable {
services.swaync = {
enable = true;
settings = {
schema = "/etc/xdg/swaync/configSchema.json";
positionX = "right";
positionY = "top";
layer = "overlay";
control-center-margin-top = 10;
control-center-margin-bottom = 10;
control-center-margin-right = 10;
control-center-margin-left = 10;
notification-icon-size = 64;
notification-body-image-height = 100;
notification-body-image-width = 200;
timeout = 3;
timeout-low = 2;
timeout-critical = 0;
fit-to-screen = false;
control-center-width = 500;
control-center-height = 1025;
notification-window-width = 440;
keyboard-shortcuts = true;
image-visibility = "when-available";
transition-time = 200;
hide-on-clear = true;
hide-on-action = true;
script-fail-notify = true;
widgets = [
"title"
"dnd"
"notifications"
"mpris"
"volume"
"buttons-grid"
];
widget-config = {
title = {
text = "Notification Center";
clear-all-button = true;
button-text = "󰆴 Clear All";
};
dnd = {
text = "Do Not Disturb";
};
label = {
max-lines = 1;
text = "Notification Center";
};
mpris = {
image-size = 96;
image-radius = 7;
};
volume = {
label = "󰕾";
show-per-app = true;
};
buttons-grid = {
actions = [
{
label = "󰐥";
command = "systemctl poweroff";
}
{
label = "󰜉";
command = "systemctl reboot";
}
{
label = "󰌾";
command = "$HOME/.config/hypr/scripts/lock-session.sh";
}
{
label = "󰍃";
command = "hyprctl dispatch exit";
}
{
label = "󰤄";
command = "systemctl suspend";
}
{
label = "󰕾";
command = "swayosd-client --output-volume mute-toggle";
}
{
label = "󰍬";
command = "swayosd-client --input-volume mute-toggle";
}
{
label = "󰖩";
command = "$HOME/.local/bin/shved/rofi-menus/wifi-menu.sh";
}
{
label = "󰂯";
command = "blueman-manager";
}
{
label = "";
command = "obs";
}
];
};
};
};
};
};
}

View File

@@ -0,0 +1,22 @@
{
config,
lib,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.nixos.programs.fish;
in {
options = {
nixos.programs.fish.enable = mkEnableOption "Enables fish shell";
};
config = mkIf cfg.enable {
programs.fish = {
enable = true;
vendor = {
completions.enable = true;
config.enable = true;
functions.enable = true;
};
};
};
}

View File

@@ -51,8 +51,8 @@
# export LD_LIBRARY_PATH="${pkgs.openssl.out}/lib:$LD_LIBRARY_PATH" # export LD_LIBRARY_PATH="${pkgs.openssl.out}/lib:$LD_LIBRARY_PATH"
# Set SHELL to zsh if available # Set SHELL to zsh if available
export SHELL=$(which zsh) export SHELL=$(which fish)
if [ "$SHELL" != "$(which zsh)" ]; then if [ "$SHELL" != "$(which fish)" ]; then
exec $SHELL exec $SHELL
fi fi
''; '';

18
scripts/bin/dunst.sh Executable file
View File

@@ -0,0 +1,18 @@
readonly ENABLED='󰂚 '
readonly DISABLED='󱏧 '
readonly WAITING='󰵙 '
dbus-monitor path='/org/freedesktop/Notifications',interface='org.freedesktop.DBus.Properties',member='PropertiesChanged' --profile |
while read -r _; do
PAUSED="$(dunstctl is-paused)"
if [ "$PAUSED" == 'false' ]; then
TEXT="$ENABLED"
else
TEXT="$DISABLED"
COUNT="$(dunstctl count waiting)"
if [ "$COUNT" != '0' ]; then
TEXT="$WAITING"
fi
fi
printf "%s\n" "$TEXT"
done

View File

@@ -79,6 +79,14 @@ in {
text = readFile ./bin/waybar-progress.sh; text = readFile ./bin/waybar-progress.sh;
}); });
}; };
".local/bin/dunst.sh" = {
source = getExe (pkgs.writeShellApplication {
name = "dunst";
runtimeInputs = with pkgs; [hyprland dbus];
text = readFile ./bin/dunst.sh;
});
};
".local/bin/mako.sh" = { ".local/bin/mako.sh" = {
source = getExe (pkgs.writeShellApplication { source = getExe (pkgs.writeShellApplication {
name = "mako"; name = "mako";

View File

@@ -15,7 +15,7 @@ in {
programs.git = { programs.git = {
enable = true; enable = true;
userName = "cnst"; userName = "cnst";
userEmail = "adamhilmersson@gmail.com"; userEmail = "adam@cnst.dev";
delta = { delta = {
enable = true; enable = true;
options.dark = true; options.dark = true;

View File

@@ -23,7 +23,6 @@
aerc = { aerc = {
enable = false; enable = false;
}; };
alacritty = { alacritty = {
enable = true; enable = true;
}; };
@@ -38,7 +37,7 @@
}; };
discord = { discord = {
enable = true; enable = true;
variant = "ptb"; variant = "vesktop";
}; };
eza = { eza = {
enable = true; enable = true;
@@ -49,6 +48,9 @@
firefox = { firefox = {
enable = true; enable = true;
}; };
fish = {
enable = true;
};
foot = { foot = {
enable = true; enable = true;
}; };
@@ -98,7 +100,7 @@
enable = true; enable = true;
}; };
wezterm = { wezterm = {
enable = false; enable = true;
}; };
yazi = { yazi = {
enable = true; enable = true;
@@ -116,7 +118,7 @@
enable = true; enable = true;
}; };
zsh = { zsh = {
enable = true; enable = false;
}; };
}; };
services = { services = {
@@ -131,6 +133,9 @@
color-scheme = "prefer-dark"; color-scheme = "prefer-dark";
}; };
}; };
dunst = {
enable = true;
};
gpg = { gpg = {
enable = false; enable = false;
}; };
@@ -144,11 +149,14 @@
enable = true; enable = true;
}; };
mako = { mako = {
enable = true; enable = false;
}; };
protonmail-bridge = { protonmail-bridge = {
enable = true; enable = true;
}; };
swaync = {
enable = false;
};
syncthing = { syncthing = {
enable = true; enable = true;
}; };