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

View File

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

View File

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

View File

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

View File

@@ -11,6 +11,7 @@
./home/programs/eza
./home/programs/floorp
./home/programs/firefox
./home/programs/fish
./home/programs/foot
./home/programs/helix
./home/programs/hyprland
@@ -38,12 +39,14 @@
./home/services/blueman-applet
./home/services/copyq
./home/services/dconf
./home/services/dunst
./home/services/gpg
./home/services/gtk
./home/services/hypridle
./home/services/hyprpaper
./home/services/mako
./home/services/protonmail-bridge
./home/services/swaync
./home/services/syncthing
./home/services/udiskie
./home/services/xdg
@@ -65,6 +68,7 @@
./nixos/programs/beekeeper
./nixos/programs/blender
./nixos/programs/corectrl
./nixos/programs/fish
./nixos/programs/gamemode
./nixos/programs/gamescope
./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
"$fileManager" = "thunar";
"$yazi" = "foot -e yazi";
"$tuirun" = "tuirun-toggle.sh";
"$launcher" = "tuirun";
bind = [
"$mod, SPACE, exec, tuirun"
"$mod, R, exec, $tuirun"
"$mod, SPACE, exec, uwsm app -T $launcher"
"$mod, R, exec, uwsm app -T $launcher"
"$mod, L, exec, ${toggle "nwg-bar"}"
"$mod SHIFT, B, exec, pkill -SIGUSR2 waybar"
"$mod, A, exec, pkill -SIGUSR1 waybar"
@@ -95,7 +95,7 @@ in {
(mkIf (host == "cnix") {
wayland.windowManager.hyprland.settings = {
"$terminal" = "ghostty";
"$terminal" = "wezterm";
"$browser" = "zen";
"$browserinc" = "zen --private-window";
"$mod" = "SUPER";

View File

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

View File

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

View File

@@ -13,9 +13,15 @@ in {
config = mkIf cfg.enable {
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland-unwrapped;
configPath = "home/cnst/.config/rofi/config.rasi";
font = "Rec Mono Linear 11";
package = pkgs.rofi-wayland;
extraConfig = {
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"
"battery"
"clock"
"custom/mako"
"custom/dunst"
];
"hyprland/workspaces" = {
@@ -120,6 +120,34 @@ in {
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" = {
# format-icons = {
# icon = "<span foreground='#928374'> </span>";

View File

@@ -6,8 +6,8 @@
...
}: let
enable_wayland = "true";
weztermPkg = pkgs.wezterm;
# weztermFlake = inputs.wezterm.packages.${pkgs.system}.default;
# weztermPkg = pkgs.wezterm;
weztermFlake = inputs.wezterm.packages.${pkgs.system}.default;
inherit (lib) mkIf mkEnableOption;
cfg = config.home.programs.wezterm;
in {
@@ -17,41 +17,35 @@ in {
config = mkIf cfg.enable {
programs.wezterm = {
enable = true;
package = weztermPkg;
package = weztermFlake;
extraConfig =
/*
lua
*/
''
local wezterm = require 'wezterm';
local wezterm = require 'wezterm'
local config = {
-- font = wezterm.font("Input Mono Compressed"),
font_size = 12,
check_for_updates = false,
color_scheme = 'Gruvbox Material (Gogh)',
default_cursor_style = 'SteadyBar',
enable_scroll_bar = false,
enable_tab_bar = false,
use_fancy_tab_bar = false,
scrollback_lines = 10000,
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.window_decorations = "TITLE"
config.window_close_confirmation = "NeverPrompt"
-- config.freetype_load_target = "Light"
-- config.freetype_render_target = "HorizontalLcd"
local f = wezterm.font_with_fallback({
{family="Input Mono Compressed", weight="Light"},
{family="Input Sans Narrow", weight="Light"},
})
config.font = f;
end
return config
local config = {
font_size = 12,
check_for_updates = false,
color_scheme = 'Gruvbox Material (Gogh)',
default_cursor_style = 'SteadyBar',
enable_scroll_bar = false,
enable_tab_bar = false,
use_fancy_tab_bar = false,
scrollback_lines = 10000,
window_background_opacity = 0.9,
}
config.enable_wayland = ${enable_wayland}
config.window_close_confirmation = "NeverPrompt"
local f = wezterm.font_with_fallback({
{ family = "Input Mono Compressed", weight = "Light" },
{ family = "Input Sans Narrow", weight = "Light" },
})
config.font = f
return config
'';
};
};

View File

@@ -5,9 +5,9 @@
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.home.programs.zsh;
inherit (lib.meta) getExe;
inherit (pkgs) eza bat;
cfg = config.home.programs.zsh;
in {
options = {
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_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=241'
setopt PROMPT_CR
setopt PROMPT_SP
export PROMPT_EOL_MARK=""
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"
# Set SHELL to zsh if available
export SHELL=$(which zsh)
if [ "$SHELL" != "$(which zsh)" ]; then
export SHELL=$(which fish)
if [ "$SHELL" != "$(which fish)" ]; then
exec $SHELL
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;
});
};
".local/bin/dunst.sh" = {
source = getExe (pkgs.writeShellApplication {
name = "dunst";
runtimeInputs = with pkgs; [hyprland dbus];
text = readFile ./bin/dunst.sh;
});
};
".local/bin/mako.sh" = {
source = getExe (pkgs.writeShellApplication {
name = "mako";

View File

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

View File

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