This commit is contained in:
dusk 2022-08-11 05:44:58 +03:00
parent db321b4944
commit 9d7033cd0f
Signed by: dusk
GPG Key ID: 1D8F8FAF2294D6EA
21 changed files with 822 additions and 476 deletions

View File

@ -120,11 +120,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1653594315, "lastModified": 1659725433,
"narHash": "sha256-kJ0ENmnQJ4qL2FeYKZba9kvv1KmIuB3NVpBwMeI7AJQ=", "narHash": "sha256-1ZxuK67TL29YLw88vQ18Y2Y6iYg8Jb7I6/HVzmNB6nM=",
"owner": "serokell", "owner": "serokell",
"repo": "deploy-rs", "repo": "deploy-rs",
"rev": "184349d8149436748986d1bdba087e4149e9c160", "rev": "41f15759dd8b638e7b4f299730d94d5aa46ab7eb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -151,7 +151,7 @@
}, },
"devshell_2": { "devshell_2": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
@ -201,6 +201,28 @@
} }
}, },
"discocss": { "discocss": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1657375072,
"narHash": "sha256-kaRGVoiJJOAAvqlO++1yNexJHCBtCK3ROkAtAAZKt2s=",
"owner": "fufexan",
"repo": "discocss",
"rev": "ca08c085637061366ed41c6f282d086e24dbf2ec",
"type": "github"
},
"original": {
"owner": "fufexan",
"ref": "flake",
"repo": "discocss",
"type": "github"
}
},
"discocss_2": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
"fufexan", "fufexan",
@ -426,15 +448,15 @@
}, },
"emacs-overlay": { "emacs-overlay": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_3",
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_2"
}, },
"locked": { "locked": {
"lastModified": 1658833746, "lastModified": 1659983351,
"narHash": "sha256-bm/FXx7lH8xaM1excP4SLexVBdaTKE5tZS8PyuibnsA=", "narHash": "sha256-FsTn0f0t2B7AKAtCDOYd34ztKa+XOUtzRa4FtO8HgDw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "emacs-overlay", "repo": "emacs-overlay",
"rev": "4d03024af95e8338ccd4d238a46c4bbe01ecdb89", "rev": "a3770a9a619f508a0828df30cb10858663d4538b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -447,7 +469,7 @@
"inputs": { "inputs": {
"fenix": "fenix", "fenix": "fenix",
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_4",
"naersk": [ "naersk": [
"fufexan", "fufexan",
"naersk" "naersk"
@ -458,11 +480,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1658741308, "lastModified": 1658940629,
"narHash": "sha256-35ao8Xc1mEt8pPs6a0iI2NfKO7Dawq7+ZQ1jS64b1mU=", "narHash": "sha256-h5NoiiLolTjpeX73qU1j5fxscTIjN+BIo2bsaJY+Pts=",
"owner": "elkowar", "owner": "elkowar",
"repo": "eww", "repo": "eww",
"rev": "962c06c0ee33e968c60ef7b1682e9d365a72e74f", "rev": "aac4c3aef4fa7dd42b3464be86d26debad66d7c1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -527,6 +549,21 @@
} }
}, },
"flake-utils": { "flake-utils": {
"locked": {
"lastModified": 1619345332,
"narHash": "sha256-qHnQkEp1uklKTpx3MvKtY6xzgcqXDsz5nLilbbuL+3A=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "2ebf2558e5bf978c7fb8ea927dfaed8fefab2e28",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"locked": { "locked": {
"lastModified": 1642700792, "lastModified": 1642700792,
"narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=", "narHash": "sha256-XqHrk7hFb+zBvRg6Ghl+AZDq03ov6OshJLiSWOoX5es=",
@ -541,13 +578,13 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_2": { "flake-utils_3": {
"locked": { "locked": {
"lastModified": 1656928814, "lastModified": 1659877975,
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -556,7 +593,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_3": { "flake-utils_4": {
"locked": { "locked": {
"lastModified": 1634851050, "lastModified": 1634851050,
"narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=", "narHash": "sha256-N83GlSGPJJdcqhUxSCS/WwW5pksYf3VP1M13cDRTSVA=",
@ -571,7 +608,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_4": { "flake-utils_5": {
"locked": { "locked": {
"lastModified": 1637014545, "lastModified": 1637014545,
"narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=", "narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=",
@ -586,7 +623,7 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_5": { "flake-utils_6": {
"locked": { "locked": {
"lastModified": 1637014545, "lastModified": 1637014545,
"narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=", "narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=",
@ -618,11 +655,11 @@
}, },
"fu": { "fu": {
"locked": { "locked": {
"lastModified": 1656928814, "lastModified": 1659877975,
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=", "narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249", "rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -635,7 +672,7 @@
"inputs": { "inputs": {
"deploy-rs": "deploy-rs", "deploy-rs": "deploy-rs",
"devshell": "devshell_2", "devshell": "devshell_2",
"discocss": "discocss", "discocss": "discocss_2",
"emacs-overlay": "emacs-overlay", "emacs-overlay": "emacs-overlay",
"eww": "eww", "eww": "eww",
"fu": "fu", "fu": "fu",
@ -645,17 +682,19 @@
"hyprland-contrib": "hyprland-contrib", "hyprland-contrib": "hyprland-contrib",
"kmonad": "kmonad", "kmonad": "kmonad",
"naersk": "naersk", "naersk": "naersk",
"nil": "nil",
"nix-colors": "nix-colors", "nix-colors": "nix-colors",
"nix-gaming": "nix-gaming", "nix-gaming": "nix-gaming",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_4",
"rnix-lsp": "rnix-lsp" "rnix-lsp": "rnix-lsp",
"spicetify-nix": "spicetify-nix"
}, },
"locked": { "locked": {
"lastModified": 1659195254, "lastModified": 1660172648,
"narHash": "sha256-+broiZolVYTgduj+r3tN+zo9K0aWkI32eMlHfgnjg6k=", "narHash": "sha256-aysHb+76bnmgscx3Jgsgtn/fxCLnaH0GYfB+aB2HXeA=",
"owner": "fufexan", "owner": "fufexan",
"repo": "dotfiles", "repo": "dotfiles",
"rev": "c6296680001434b1d1f840b53324d31c5d5a7adc", "rev": "d8ef562706bca897af2b7e0f178deffb02aa9c08",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -674,11 +713,11 @@
"rust-overlay": "rust-overlay_2" "rust-overlay": "rust-overlay_2"
}, },
"locked": { "locked": {
"lastModified": 1658815512, "lastModified": 1659892787,
"narHash": "sha256-q65cN1JuhJOfFve2A8Jyfe+wzgcbHpiNbUPOgwJRpZ8=", "narHash": "sha256-G0+P2ktmCtX3zcE8Qfnwc717xSPYlbj87i2vwvq9IDA=",
"owner": "helix-editor", "owner": "helix-editor",
"repo": "helix", "repo": "helix",
"rev": "3dd2196e4f42b23fd30b4e028b96d5b1862603d6", "rev": "3e11017ade8b25e580b20dab5187374fa3338bae",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -693,14 +732,14 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"rust-overlay": "rust-overlay_3" "rust-overlay": "rust-overlay_4"
}, },
"locked": { "locked": {
"lastModified": 1659072681, "lastModified": 1660168643,
"narHash": "sha256-vvdQHhnJIxrIh8phbJRM/h8GgZBXj7Lc9yK05t52yCg=", "narHash": "sha256-1B/sWD7ltMs4k3DC6oxUD6mQYmKrCyrLVLIBK/5OL9w=",
"owner": "helix-editor", "owner": "helix-editor",
"repo": "helix", "repo": "helix",
"rev": "a8b123fe177d8cd7f5a610a0a50c16c9f64069bd", "rev": "d192d597535e50d3ce4a29fbd4dc13cb92320ea5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -718,11 +757,11 @@
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1658751516, "lastModified": 1659978484,
"narHash": "sha256-Y/3dHoTjbvYBtWd+TTBQJUIgDPO9d+Gqt05C5dyR7E4=", "narHash": "sha256-VkErPc8pXcuFQG7jkkaUOEMORe81oweRNlAYZJ2+aRI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "dbed4c794d20d51027fc1107f063ec5be027dafc", "rev": "c1addfdad3825f75a66f8d73ec7d2f68c78ba6f8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -736,14 +775,14 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"utils": "utils_3" "utils": "utils_2"
}, },
"locked": { "locked": {
"lastModified": 1657396086, "lastModified": 1659978484,
"narHash": "sha256-4cQ6hEuewWoFkTBlu211JGxPQQ1Zyli8oEq1cu7cVeA=", "narHash": "sha256-VkErPc8pXcuFQG7jkkaUOEMORe81oweRNlAYZJ2+aRI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "c645cc9f82c7753450d1fa4d1bc73b64960a9d7a", "rev": "c1addfdad3825f75a66f8d73ec7d2f68c78ba6f8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -787,11 +826,11 @@
"wlroots": "wlroots" "wlroots": "wlroots"
}, },
"locked": { "locked": {
"lastModified": 1659194367, "lastModified": 1660148977,
"narHash": "sha256-pxPBHj2B6EuljO0PekkHlKtWZLdDkjX4zF5sY7Q/lFk=", "narHash": "sha256-eR/qlC8eDY7A+bkkiF28xCG0cPJr4HilMcD3/QJ05TQ=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "59879e0bd1f30771b0dce57c324e1648a3ad1603", "rev": "f64f94ca565a2ec9f174f57a20fcfbfddb762cb8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -829,11 +868,11 @@
"wlroots": "wlroots_2" "wlroots": "wlroots_2"
}, },
"locked": { "locked": {
"lastModified": 1657572680, "lastModified": 1660168160,
"narHash": "sha256-NOy0iHEnOcL5yAA7fWXni++axbNSFaYDxLeAkmPtZaY=", "narHash": "sha256-dBfG89ugpHbWwqSexCtGqpHs4lZxO5zXWHAT5P2v06I=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "676e4c36c53c991f6950a0c51fbe7b41ee9a4db2", "rev": "cd75606f4232787a9faf55db0835b29e3bb45ae9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -873,11 +912,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1655042882, "lastModified": 1659610603,
"narHash": "sha256-9BX8Fuez5YJlN7cdPO63InoyBy7dm3VlJkkmTt6fS1A=", "narHash": "sha256-LYgASYSPYo7O71WfeUOaEUzYfzuXm8c8eavJcel+pfI=",
"owner": "nmattia", "owner": "nmattia",
"repo": "naersk", "repo": "naersk",
"rev": "cddffb5aa211f50c4b8750adbec0bbbdfb26bb9f", "rev": "c6a45e4277fa58abd524681466d3450f896dc094",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -886,28 +925,6 @@
"type": "github" "type": "github"
} }
}, },
"naersk_2": {
"inputs": {
"nixpkgs": [
"fufexan",
"rnix-lsp",
"nixpkgs"
]
},
"locked": {
"lastModified": 1655042882,
"narHash": "sha256-9BX8Fuez5YJlN7cdPO63InoyBy7dm3VlJkkmTt6fS1A=",
"owner": "nix-community",
"repo": "naersk",
"rev": "cddffb5aa211f50c4b8750adbec0bbbdfb26bb9f",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "naersk",
"type": "github"
}
},
"nci": { "nci": {
"inputs": { "inputs": {
"devshell": "devshell", "devshell": "devshell",
@ -932,6 +949,32 @@
"type": "github" "type": "github"
} }
}, },
"nil": {
"inputs": {
"flake-utils": [
"fufexan",
"fu"
],
"nixpkgs": [
"fufexan",
"nixpkgs"
],
"rust-overlay": "rust-overlay_3"
},
"locked": {
"lastModified": 1659996948,
"narHash": "sha256-f91TFtsKVoejb7rW9zRs7WozGMqzDgHMxO/Q/gQKFpU=",
"owner": "oxalica",
"repo": "nil",
"rev": "e222ab8363be9c02400eb94384837653930e4b8c",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "nil",
"type": "github"
}
},
"nix-colors": { "nix-colors": {
"inputs": { "inputs": {
"base16-schemes": "base16-schemes", "base16-schemes": "base16-schemes",
@ -956,11 +999,11 @@
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1658662574, "lastModified": 1659340932,
"narHash": "sha256-NX3uQqN8kktKujIiQStqGZx9K+jJ5+M2a+GVrAe227w=", "narHash": "sha256-CEeGgZLN5ukOrbvwKTh66miEQ3cA2poH4tko6C7ULS4=",
"owner": "fufexan", "owner": "fufexan",
"repo": "nix-gaming", "repo": "nix-gaming",
"rev": "065a6a44a301ba027d42b52d94db5bc39dd7ce6d", "rev": "69b8118d92c5bd135f2d139d87fb01d34de9a244",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1047,11 +1090,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1656933710, "lastModified": 1660030916,
"narHash": "sha256-SVG8EqY1OTJWBRY4hpct2ZR2Rk0L8hCFkug3m0ABoZE=", "narHash": "sha256-KeVTmST6vAS85uUaSYlzv6OWhveawfIGhqX1SMq+L30=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "3bf48d3587d3f34f745a19ebc968b002ef5b5c5a", "rev": "3975d5158f00accda15a11180b2c08654cfb2807",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1109,8 +1152,8 @@
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 0, "lastModified": 0,
"narHash": "sha256-MWyfCH9K3eVTXJUxBi67OQSAh9jJAnvWklM6qm4j8w8=", "narHash": "sha256-7Ye59iW/DUWb8PzptEqdyYPlv6y+IhqKecaoZl3q68A=",
"path": "/nix/store/qdsi66bin3h3yimbn35fxbj7fwdpi739-source", "path": "/nix/store/3a2j1ra0ymsmrmibafh96gryipxidyy7-source",
"type": "path" "type": "path"
}, },
"original": { "original": {
@ -1136,11 +1179,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1658644204, "lastModified": 1659987637,
"narHash": "sha256-MWyfCH9K3eVTXJUxBi67OQSAh9jJAnvWklM6qm4j8w8=", "narHash": "sha256-8l+5QiCkackVPu/F3vX7RCKHyYKxEsq/TKMuaG6UX5k=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2f0c3be57c348f4cfd8820f2d189e29a685d9c41", "rev": "a47896bf817e7324471e687fc2bb2312fff682ce",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1152,27 +1195,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1656753965, "lastModified": 1660071133,
"narHash": "sha256-BCrB3l0qpJokOnIVc3g2lHiGhnjUi0MoXiw6t1o8H1E=", "narHash": "sha256-XX6T9wcvEZIVWY4TO5O1d2MgFyFrF2v4TpCFs7fjdn8=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0ea7a8f1b939d74e5df8af9a8f7342097cdf69eb", "rev": "36cc29d837e7232e3176e4651e8e117a6f231793",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1657447684,
"narHash": "sha256-FCP9AuU1q6PE3vOeM5SFf58f/UKPBAsoSGDUGamNBbo=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5f43d8b088d3771274bcfb69d3c7435b1121ac88",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1184,11 +1211,11 @@
}, },
"nur": { "nur": {
"locked": { "locked": {
"lastModified": 1657563923, "lastModified": 1660140306,
"narHash": "sha256-gvouxQe93ynZzlUWBxGbk7TJRzAQ5w3wiyNRYODiFJM=", "narHash": "sha256-AXtZqd2elOoqSd57Jr3E5f86H8h4e+iNPtMHuj2R0Ps=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "ba9415d7c8ad896048d4d54d770f2d0c45791d1a", "rev": "5a911c0997ddec558b0da1588fe0e8af4cb8e769",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1199,16 +1226,25 @@
}, },
"rnix-lsp": { "rnix-lsp": {
"inputs": { "inputs": {
"naersk": "naersk_2", "naersk": [
"nixpkgs": "nixpkgs_5", "fufexan",
"utils": "utils_2" "naersk"
],
"nixpkgs": [
"fufexan",
"nixpkgs"
],
"utils": [
"fufexan",
"fu"
]
}, },
"locked": { "locked": {
"lastModified": 1658492037, "lastModified": 1658963292,
"narHash": "sha256-i4TL1Tb/q7Y+Jk5JWk6FRWWei6yH0WtYVTnmmAr9B0c=", "narHash": "sha256-4OIpATLdPQvryyhRQPELeqNYC0n6PCyjD6LCPdwOztc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "rnix-lsp", "repo": "rnix-lsp",
"rev": "e6a41cbd317a21763ba61a19e594a3e1bf1023ca", "rev": "ff18e04551a39ccdab0ff9c83926db3807b23478",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1221,6 +1257,7 @@
"inputs": { "inputs": {
"bernbot": "bernbot", "bernbot": "bernbot",
"blog": "blog", "blog": "blog",
"discocss": "discocss",
"fufexan": "fufexan", "fufexan": "fufexan",
"helix": "helix_2", "helix": "helix_2",
"home": "home", "home": "home",
@ -1228,7 +1265,7 @@
"nixinate": "nixinate", "nixinate": "nixinate",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixos-persistence": "nixos-persistence", "nixos-persistence": "nixos-persistence",
"nixpkgs": "nixpkgs_6", "nixpkgs": "nixpkgs_5",
"nur": "nur" "nur": "nur"
} }
}, },
@ -1267,7 +1304,7 @@
}, },
"rust-overlay_2": { "rust-overlay_2": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_4", "flake-utils": "flake-utils_5",
"nixpkgs": [ "nixpkgs": [
"fufexan", "fufexan",
"helix", "helix",
@ -1290,7 +1327,34 @@
}, },
"rust-overlay_3": { "rust-overlay_3": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_5", "flake-utils": [
"fufexan",
"nil",
"flake-utils"
],
"nixpkgs": [
"fufexan",
"nil",
"nixpkgs"
]
},
"locked": {
"lastModified": 1659599305,
"narHash": "sha256-htzFq5RffyoKSZxiLfpUq5CyhkQwycsXB5ptale5e78=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "28cedcb8dfea9f1b96b0635cf99fe6bdca163f4e",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"rust-overlay_4": {
"inputs": {
"flake-utils": "flake-utils_6",
"nixpkgs": [ "nixpkgs": [
"helix", "helix",
"nixpkgs" "nixpkgs"
@ -1310,6 +1374,27 @@
"type": "github" "type": "github"
} }
}, },
"spicetify-nix": {
"inputs": {
"nixpkgs": [
"fufexan",
"nixpkgs"
]
},
"locked": {
"lastModified": 1660056496,
"narHash": "sha256-m7hREOZD/A2NIP970NsNG65NRMg+qpKqhLqRvjL4Kgs=",
"owner": "the-argus",
"repo": "spicetify-nix",
"rev": "ba37a751fb8a8d8b29271b354b6abb5d709b280e",
"type": "github"
},
"original": {
"owner": "the-argus",
"repo": "spicetify-nix",
"type": "github"
}
},
"utils": { "utils": {
"locked": { "locked": {
"lastModified": 1653893745, "lastModified": 1653893745,
@ -1326,21 +1411,6 @@
} }
}, },
"utils_2": { "utils_2": {
"locked": {
"lastModified": 1656928814,
"narHash": "sha256-RIFfgBuKz6Hp89yRr7+NR5tzIAbn52h8vT6vXkYjZoM=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "7e2a3b3dfd9af950a856d66b0a7d01e3c18aa249",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"utils_3": {
"locked": { "locked": {
"lastModified": 1653893745, "lastModified": 1653893745,
"narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=", "narHash": "sha256-0jntwV3Z8//YwuOjzhV2sgJJPt+HY6KhU7VZUL0fKZQ=",
@ -1359,11 +1429,11 @@
"flake": false, "flake": false,
"locked": { "locked": {
"host": "gitlab.freedesktop.org", "host": "gitlab.freedesktop.org",
"lastModified": 1656865312, "lastModified": 1659738224,
"narHash": "sha256-xtQ0zwJZwN8sciruveM10CzKz6TWxBY8SyXa8E4jly4=", "narHash": "sha256-bV3TLiCgptpKoUKLiH/5RMtiIsfn0hawdaCEHQFB6WY=",
"owner": "wlroots", "owner": "wlroots",
"repo": "wlroots", "repo": "wlroots",
"rev": "5dc1d4671dd2ca3c1f0f09587c463fdbb542f0a4", "rev": "3baf2a6bcfc4cb86c364f5724aaec80f28715a01",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -1377,11 +1447,11 @@
"flake": false, "flake": false,
"locked": { "locked": {
"host": "gitlab.freedesktop.org", "host": "gitlab.freedesktop.org",
"lastModified": 1655824477, "lastModified": 1659738224,
"narHash": "sha256-1kskHOLsnisR3kqIL5IHrQbQG/4xoXxeEf1ExMV6/RU=", "narHash": "sha256-bV3TLiCgptpKoUKLiH/5RMtiIsfn0hawdaCEHQFB6WY=",
"owner": "wlroots", "owner": "wlroots",
"repo": "wlroots", "repo": "wlroots",
"rev": "5c4384a1330faedf975c8b8644881d50390f3613", "rev": "3baf2a6bcfc4cb86c364f5724aaec80f28715a01",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {

View File

@ -23,6 +23,8 @@
blog.inputs.nixpkgs.follows = "nixpkgs"; blog.inputs.nixpkgs.follows = "nixpkgs";
bernbot.url = "github:yusdacra/bernbot"; bernbot.url = "github:yusdacra/bernbot";
bernbot.inputs.nixpkgs.follows = "nixpkgs"; bernbot.inputs.nixpkgs.follows = "nixpkgs";
discocss.url = "github:fufexan/discocss/flake";
discocss.inputs.nixpkgs.follows = "nixpkgs";
}; };
outputs = inputs: let outputs = inputs: let

View File

@ -17,8 +17,8 @@ in {
common-gpu-amd common-gpu-amd
common-cpu-amd common-cpu-amd
../../modules/persist ../../modules/persist
../../modules/gamemode
../../modules/network/iwd.nix ../../modules/network/iwd.nix
#../../modules/develop/nixbuild
../../users/root ../../users/root
../../users/patriot ../../users/patriot
]; ];
@ -171,7 +171,6 @@ in {
autoMount = true; autoMount = true;
}; };
flatpak.enable = false; flatpak.enable = false;
hardware.xow.enable = true;
}; };
virtualisation = { virtualisation = {

View File

@ -3,8 +3,11 @@ lib.makeExtensible (self: {
defaultSystems = import ./systems.nix; defaultSystems = import ./systems.nix;
genSystems = lib.genAttrs self.defaultSystems; genSystems = lib.genAttrs self.defaultSystems;
pkgBin = pkgs: id: pkgBin = pkg:
if lib.isString id if (pkg.meta or {}) ? mainProgram
then "${pkgs.${id}}/bin/${id}" then "${pkg}/bin/${pkg.meta.mainProgram}"
else "${pkgs.${id.name}}/bin/${id.bin}"; else "${pkg}/bin/${pkg.pname}";
prefixStrings = prefix: strings:
lib.forEach strings (string: "${prefix}${string}");
}) })

View File

@ -10,7 +10,7 @@
coreBin = v: "${pkgs.coreutils}/bin/${v}"; coreBin = v: "${pkgs.coreutils}/bin/${v}";
nixBin = "${config.nix.package}/bin/nix"; nixBin = "${config.nix.package}/bin/nix";
pkgBin = tlib.pkgBin pkgs; pkgBin = tlib.pkgBin;
in { in {
imports = [ imports = [
./nix.nix ./nix.nix
@ -58,19 +58,20 @@ in {
]; ];
shellAliases = let shellAliases = let
ifSudo = string: mkIf config.security.sudo.enable string; ifSudo = string: mkIf config.security.sudo.enable string;
inherit (pkgs) git bat exa du-dust;
in { in {
g = pkgBin "git"; g = pkgBin git;
git-optimize = "${pkgBin "git"} gc --aggressive --prune=now"; git-optimize = "${pkgBin git} gc --aggressive --prune=now";
cat = "${pkgBin "bat"} -pp --theme=base16"; cat = "${pkgBin bat} -pp --theme=base16";
c = "cat"; c = "cat";
du = "${pkgs.du-dust}/bin/dust"; du = "${pkgBin du-dust}";
df = "${coreBin "df"} -h"; df = "${coreBin "df"} -h";
free = "${pkgs.procps}/bin/free -h"; free = "${pkgs.procps}/bin/free -h";
ls = pkgBin "exa"; ls = pkgBin exa;
l = "${pkgBin "exa"} -lhg"; l = "${pkgBin exa} -lhg";
la = "${pkgBin "exa"} -lhg -a"; la = "${pkgBin exa} -lhg -a";
t = "${pkgBin "exa"} -lhg -T"; t = "${pkgBin exa} -lhg -T";
ta = "${pkgBin "exa"} -lhg -a -T"; ta = "${pkgBin exa} -lhg -a -T";
n = nixBin; n = nixBin;
nf = "${nixBin} flake"; nf = "${nixBin} flake";
nfu = "${nixBin} flake update"; nfu = "${nixBin} flake update";

View File

@ -1,17 +1,21 @@
{ {
config, config,
inputs, inputs,
tlib,
... ...
}: { }: {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.sharedModules = [ home-manager.sharedModules = [
{ {
home.sessionVariables = {inherit (config.environment.sessionVariables) NIX_PATH;}; home = {
inherit (config.environment) shellAliases sessionVariables;
stateVersion = config.system.stateVersion;
};
xdg.configFile."nix/registry.json".text = config.environment.etc."nix/registry.json".text; xdg.configFile."nix/registry.json".text = config.environment.etc."nix/registry.json".text;
xdg.configFile."nix/nix.conf".source = config.environment.etc."nix/nix.conf".source; xdg.configFile."nix/nix.conf".source = config.environment.etc."nix/nix.conf".source;
xdg.configFile."nix/netrc".source = config.environment.etc."nix/netrc".source; xdg.configFile."nix/netrc".source = config.environment.etc."nix/netrc".source;
} }
]; ];
home-manager.extraSpecialArgs = {inherit inputs;}; home-manager.extraSpecialArgs = {inherit inputs tlib;};
} }

View File

@ -0,0 +1,31 @@
{
pkgs,
inputs,
...
}: let
hyprland = inputs.fufexan.packages.${pkgs.system}.hyprland;
startscript = pkgs.writeShellScript "gamemode-start" ''
export HYPRLAND_INSTANCE_SIGNATURE=$(ls /tmp/hypr | sort | tail -n 1)
${hyprland}/bin/hyprctl --batch 'keyword decoration:blur 0 ; keyword animations:enabled 0 ; keyword misc:no_vfr 1'
'';
endscript = pkgs.writeShellScript "gamemode-end" ''
export HYPRLAND_INSTANCE_SIGNATURE=$(ls /tmp/hypr | sort | tail -n 1)
${hyprland}/bin/hyprctl --batch 'keyword decoration:blur 1 ; keyword animations:enabled 1 ; keyword misc:no_vfr 0'
'';
in {
programs.gamemode = {
enable = true;
settings = {
general = {
softrealtime = "auto";
renice = 15;
};
custom = {
start = "${startscript}";
end = "${endscript}";
};
};
};
}

View File

@ -2,6 +2,7 @@
inputs, inputs,
system, system,
lib, lib,
tlib,
... ...
}: let }: let
l = lib; l = lib;
@ -23,7 +24,7 @@
${l.removeSuffix ".nix" name} = ${l.removeSuffix ".nix" name} =
prev.callPackage prev.callPackage
"${./pkgs}/${name}" "${./pkgs}/${name}"
{inherit inputs;}; {inherit inputs tlib;};
} }
) )
(l.readDir ./pkgs); (l.readDir ./pkgs);

View File

@ -1,3 +0,0 @@
{inputs}: final: prev: {
hyprland = inputs.fufexan.packages.${prev.system}.hyprland;
}

View File

@ -1,24 +0,0 @@
final: prev: {
phantomstyle =
prev.stdenv.mkDerivation
{
pname = "phantomstyle";
version = "6e9580b";
src =
builtins.fetchGit
{
url = "https://github.com/randrew/phantomstyle.git";
rev = "6e9580b72e372b5acecd616434eaf441bf73bcf4";
};
dontWrapQtApps = true;
buildInputs = [prev.libsForQt5.qt5.qtbase];
buildPhase = ''
cd src/styleplugin
qmake && make
'';
installPhase = ''
mkdir -p $out/$qtPluginPrefix/styles
mv libphantomstyleplugin.so $out/$qtPluginPrefix/styles
'';
};
}

View File

@ -0,0 +1,14 @@
{
fetchurl,
runCommand,
...
}: let
ttf = fetchurl {
url = "https://dtinth.github.io/comic-mono-font/ComicMono.ttf";
sha256 = "sha256-O8FCXpIqFqvw7HZ+/+TQJoQ5tMDc6YQy4H0V9drVcZY=";
};
in
runCommand "comic-mono" {} ''
mkdir -p $out/share/fonts/truetype
ln -s ${ttf} $out/share/fonts/truetype
''

View File

@ -2,11 +2,12 @@
nur, nur,
treefmt, treefmt,
writers, writers,
tlib,
... ...
}: }:
writers.writeBashBin "generate-firefox-addons" '' writers.writeBashBin "generate-firefox-addons" ''
${nur.repos.rycee.firefox-addons-generator}/bin/nixpkgs-firefox-addons \ ${tlib.pkgBin nur.repos.rycee.mozilla-addons-to-nix} \
users/modules/firefox/extensions.json \ users/modules/firefox/extensions.json \
users/modules/firefox/extensions.nix users/modules/firefox/extensions.nix
${treefmt}/bin/treefmt ${tlib.pkgBin treefmt}
'' ''

View File

@ -0,0 +1,15 @@
{
inputs,
pkgs,
...
}: {
imports = [inputs.discocss.hmModule];
programs.discocss = {
enable = true;
discord =
inputs.fufexan.packages.${pkgs.system}.discord-electron-openasar;
discordAlias = true;
css = builtins.readFile ./theme.css;
};
}

View File

@ -0,0 +1,215 @@
.theme-dark,
.theme-light {
--brand-experiment: #f5e0dc;
--brand-experiment-560: #f5e0dc;
--brand-experiment-200: #cdd6f4;
--brand-experiment-15a: #585b70;
--brand-experiment-600: #efcec8;
--header-primary: #a6adc8;
--header-secondary: #bac2de;
--text-normal: #cdd6f4;
--text-muted: #a6adc8;
--text-link: #f5e0dc;
--text-positive: #a6e3a1;
--text-warning: #f9e2af;
--text-danger: #f38ba8;
--text-brand: #89b4fa;
--interactive-normal: #9399b2;
--interactive-hover: #9399b2;
--interactive-active: #cdd6f4;
--interactive-muted: #45475a;
--background-primary: #1e1e2e;
--background-secondary: #181825;
--background-secondary-alt: #11111b;
--background-tertiary: #11111b;
--background-accent: #45475a;
--background-floating: #181825;
--background-nested-floating: #2f3136;
--background-mobile-primary: #36393f;
--background-mobile-secondary: #2f3136;
--chat-background: #36393f;
--chat-border: #202225;
--chat-input-container-background: #36393f;
--background-modifier-hover: #45475a;
--background-modifier-active: #585b70;
--background-modifier-selected: #585b70;
--background-modifier-accent: rgba(79,84,92,0.48);
--info-warning-background: rgba(249,226,175,0.1);
--info-warning-foreground: #f9e2af;
/*--info-warning-text: #fff;
--info-danger-background: hsla(359,calc(var(--saturation-factor, 1)*82.6%),59.4%,0.1);
--info-danger-foreground: hsl(359,calc(var(--saturation-factor, 1)*82.6%),59.4%);
--info-danger-text: #fff;
--info-help-background: hsla(197,calc(var(--saturation-factor, 1)*100%),47.8%,0.1);
--info-help-foreground: hsl(197,calc(var(--saturation-factor, 1)*100%),47.8%);
--info-help-text: #fff;
--status-positive-background: hsl(139,calc(var(--saturation-factor, 1)*47.1%),33.3%);
--status-positive-text: #fff;
--status-warning-background: hsl(38,calc(var(--saturation-factor, 1)*95.7%),54.1%);
--status-warning-text: #000;*/
--status-danger-background: #f38ba8;
--status-danger-text: #cdd6f4;
--status-danger: #f38ba8;
--status-positive: #a6e3a1;
--status-warning: #fab387;
--button-danger-background: #f38ba8;
--button-danger-background-hover: #f5a2b9;
--button-danger-background-active: #f17497;
--button-danger-background-disabled: #532c37;
--button-positive-background: #a6e3a1;
--button-positive-background-hover: #b9e9b5;
--button-positive-background-active: #93dd8d;
--button-positive-background-disabled: #404540;
--button-secondary-background: #313244;
--button-secondary-background-hover: #45475a;
--button-secondary-background-active: #585b70;
--button-secondary-background-disabled: #f00;
--button-outline-danger-text: #cdd6f4;
--button-outline-danger-border: #f38ba8;
--button-outline-danger-background: #f38ba8;
--button-outline-danger-background-hover: #f5a2b9;
--button-outline-danger-text-hover: #1e1e2e;
--button-outline-danger-border-hover: #f5a2b9;
--button-outline-danger-background-active: #f17497;
--button-outline-danger-text-active: #1e1e2e;
--button-outline-danger-border-active: #f17497;
--button-outline-positive-text: #fff;
/*--button-outline-positive-border: hsl(139,calc(var(--saturation-factor, 1)*47.3%),43.9%);
--button-outline-positive-background: hsla(0,0%,100%,0);
--button-outline-positive-background-hover: hsl(139,calc(var(--saturation-factor, 1)*47.1%),33.3%);
--button-outline-positive-text-hover: #fff;
--button-outline-positive-border-hover: hsl(139,calc(var(--saturation-factor, 1)*47.1%),33.3%);
--button-outline-positive-background-active: hsl(138,calc(var(--saturation-factor, 1)*46.8%),24.3%);
--button-outline-positive-text-active: #fff;
--button-outline-positive-border-active: hsl(138,calc(var(--saturation-factor, 1)*46.8%),24.3%);
--button-outline-brand-text: #fff;
--button-outline-brand-border: hsl(235,calc(var(--saturation-factor, 1)*85.6%),64.7%);
--button-outline-brand-background: hsla(0,0%,100%,0);
--button-outline-brand-background-hover: hsl(235,calc(var(--saturation-factor, 1)*85.6%),64.7%);
--button-outline-brand-text-hover: #fff;
--button-outline-brand-border-hover: hsl(235,calc(var(--saturation-factor, 1)*85.6%),64.7%);
--button-outline-brand-background-active: hsl(235,calc(var(--saturation-factor, 1)*51.4%),52.4%);
--button-outline-brand-text-active: #fff;
--button-outline-brand-border-active: hsl(235,calc(var(--saturation-factor, 1)*51.4%),52.4%);*/
--button-outline-primary-text: #fff;
--button-outline-primary-border: #4f545c;
--button-outline-primary-background: rgba(255,255,255,0);
--button-outline-primary-background-hover: #4f545c;
--button-outline-primary-text-hover: #fff;
--button-outline-primary-border-hover: #4f545c;
--button-outline-primary-background-active: #686d73;
--button-outline-primary-text-active: #fff;
--button-outline-primary-border-active: #686d73;
--modal-background: #181825;
--modal-footer-background: #11111b;
--scrollbar-thin-thumb: #313244;
--scrollbar-thin-track: transparent;
--scrollbar-auto-thumb: #313244;
--scrollbar-auto-track: transparent;
--scrollbar-auto-scrollbar-color-thumb: #313244;
--scrollbar-auto-scrollbar-color-track: transparent;
--input-background: #313244;
--input-placeholder-text: #7f849c;
--elevation-stroke: 0 0 0 1px rgba(4,4,5,0.15);
--elevation-low: 0 1px 0 rgba(4,4,5,0.2), 0 1.5px 0 rgba(6,6,7,0.05), 0 2px 0 rgba(4,4,5,0.05);
--elevation-medium: 0 4px 4px rgba(0,0,0,0.16);
--elevation-high: 0 8px 16px rgba(0,0,0,0.24);
--logo-primary: #fff;
--background-mentioned: rgba(249,226,175,0.1);
--background-mentioned-hover: rgba(249,226,175,0.08);
--background-message-hover: rgba(24,24,37,0.25);
--channels-default: #7f849c;
--channel-icon: #a6adc8;
--channel-text-area-placeholder: #72767d;
--guild-header-text-shadow: 0 1px 1px rgba(0,0,0,0.4);
--channeltextarea-background: #313244;
--activity-card-background: #202225;
--textbox-markdown-syntax: #8e9297;
--spoiler-revealed-background: #292b2f;
--spoiler-hidden-background: #202225;
--android-navigation-bar-background: #121315;
--deprecated-card-bg: #181825;
--deprecated-card-editable-bg: rgba(32,34,37,0.3);
--deprecated-store-bg: #36393f;
--deprecated-quickswitcher-input-background: #72767d;
--deprecated-quickswitcher-input-placeholder: rgba(255,255,255,0.3);
--deprecated-text-input-bg: #202225;
--deprecated-text-input-border: rgba(0,0,0,0.3);
--deprecated-text-input-border-hover: #040405;
--deprecated-text-input-border-disabled: #202225;
--deprecated-text-input-prefix: #dcddde;
}
/* Reactions */
.reaction-3vwAF2 {
background-color: #313244;
}
.reaction-3vwAF2:hover {
background-color: #45475a;
}
/* Buttons */
.lookFilled-yCfaCM.colorBrand-I6CyqQ,
.lookFilled-yCfaCM.colorRed-rQXKgM,
.lookFilled-yCfaCM.colorGreen-3y-Z79,
.selected-2Uns2B,
.colorDefault-CDqZdO.focused-3qFvc8,
.barButtonBase-Sk2mdB {
color: #1e1e2e;
}
.colorDanger-3n-KnP:active:not(.hideInteraction-2jPGL_) {
background-color: #f38ba8;
color: #1e1e2e;
}
.lookFilled-yCfaCM.colorPrimary-2AuQVo {
background-color: #313244;
color: #cdd6f4;
}
/* Checkbox */
.checked-25WXMf {
background-color: #a6e3a1 !important;
}
/* Bot tag */
.botTagRegular-kpctgU {
color: #1e1e2e;
}
/* Message hover buttons */
.wrapper-2vIMkT {
background-color: #313244;
}
/* DMs page */
.container-2cd8Mz {
background-color: #1e1e2e !important;
}
/* Delete message pupup */
.theme-dark .message-G6O-Wv {
background-color: #11111b;
}
.autocomplete-3NRXG8 {
background: #1e1e2e !important;
}
.categoryHeader-OpJ1Ly {
background: #181825;
}
rect[fill^="hsl(139"] {
fill: #a6e3a1;
}
rect[fill^="hsl(38"] {
fill: #f9e2af;
}
rect[fill^="hsl(359"] {
fill: #f38ba8;
}
rect[fill^="hsl(214"] {
fill: #a6adc8;
}
div[style^="background-color: hsl(139"] {
background-color: #a6e3a1 !important;
}
div[style^="background-color: hsl(38"] {
background-color: #f9e2af !important;
}
div[style^="background-color: hsl(359"] {
background-color: #f38ba8 !important;
}
div[style^="background-color: hsl(214"] {
background-color: #a6adc8 !important;
}

View File

@ -12,6 +12,7 @@
sha256 = "d9453ae265608d3a1b17c812d77422ab2aaf357365e527812268a407643efa25"; sha256 = "d9453ae265608d3a1b17c812d77422ab2aaf357365e527812268a407643efa25";
meta = with lib; { meta = with lib; {
description = "Firefox theme based on <a href=\"https://outgoing.prod.mozaws.net/v1/110954a3f2718cf03892676379416caed51099b639f643aaf12989b7e698f073/https%3A//github.com/catppuccin/catppuccin\" rel=\"nofollow\">https://github.com/catppuccin/catppuccin</a>"; description = "Firefox theme based on <a href=\"https://outgoing.prod.mozaws.net/v1/110954a3f2718cf03892676379416caed51099b639f643aaf12989b7e698f073/https%3A//github.com/catppuccin/catppuccin\" rel=\"nofollow\">https://github.com/catppuccin/catppuccin</a>";
license = licenses.cc-by-30;
platforms = platforms.all; platforms = platforms.all;
}; };
}; };

View File

@ -0,0 +1,6 @@
{config, ...}: {
programs.fzf.enable = true;
home.sessionVariables = {
FZF_DEFAULT_OPTS = "--color=spinner:#F8BD96,hl:#F28FAD --color=fg:#D9E0EE,header:#F28FAD,info:#DDB6F2,pointer:#F8BD96 --color=marker:#F8BD96,fg+:#F2CDCD,prompt:#DDB6F2,hl+:#F28FAD";
};
}

View File

@ -1,26 +1,36 @@
{pkgs, ...}: { {
systemd.user.targets.hyprland-session = { pkgs,
Unit = { inputs,
Description = "hyprland compositor session"; ...
Documentation = ["man:systemd.special(7)"]; }: {
BindsTo = ["graphical-session.target"]; imports = [
Wants = ["graphical-session-pre.target"]; ../wayland
After = ["graphical-session-pre.target"]; inputs.hyprland.homeManagerModules.default
}; ];
};
xdg.enable = true; home.packages =
xdg.configFile."hypr/hyprland.conf".text = let [
(import "${inputs.fufexan}/home/wayland/screenshot.nix" {inherit pkgs;})
]
++ (
with pkgs; [
wf-recorder
xorg.xprop
]
);
wayland.windowManager.hyprland = {
enable = true;
package = inputs.fufexan.packages.${pkgs.system}.hyprland;
extraConfig = let
rofi = "${pkgs.rofi-wayland}/bin/rofi"; rofi = "${pkgs.rofi-wayland}/bin/rofi";
launcher = "${rofi} -show drun"; launcher = "${rofi} -show drun";
term = "${pkgs.wezterm}/bin/wezterm"; term = "${pkgs.wezterm}/bin/wezterm";
swaybg = "${pkgs.swaybg}/bin/swaybg"; swaybg = "${pkgs.swaybg}/bin/swaybg";
grim = "${pkgs.grim}/bin/grim";
light = "${pkgs.light}/bin/light"; light = "${pkgs.light}/bin/light";
playerctl = "${pkgs.playerctl}/bin/playerctl"; playerctl = "${pkgs.playerctl}/bin/playerctl";
pulsemixer = "${pkgs.pulsemixer}/bin/pulsemixer"; pulsemixer = "${pkgs.pulsemixer}/bin/pulsemixer";
slurp = "${pkgs.slurp}/bin/slurp";
wl-copy = "${pkgs.wl-clipboard}/bin/wl-copy"; wl-copy = "${pkgs.wl-clipboard}/bin/wl-copy";
notify-date = with pkgs; notify-date = with pkgs;
writers.writeBash "notify-date" '' writers.writeBash "notify-date" ''
@ -28,19 +38,15 @@
''; '';
in '' in ''
# should be configured per-profile # should be configured per-profile
monitor=,2560x1600@120,0x0,1.6 monitor=,preferred,auto,1.6
workspace=,1 workspace=,1
exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY HYPRLAND_INSTANCE_SIGNATURE exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY DISPLAY HYPRLAND_INSTANCE_SIGNATURE
exec-once=systemctl --user start graphical-session-pre.target exec-once=systemctl --user start hyprland-session.target
exec-once=systemctl --user start graphical-session.target
exec-once=${swaybg} -i ~/.config/wallpaper exec-once=${swaybg} -i ~/.config/wallpaper
exec-once=xprop -root -f _XWAYLAND_GLOBAL_OUTPUT_SCALE 32c -set _XWAYLAND_GLOBAL_OUTPUT_SCALE 1.6
input { input {
kb_layout=tr kb_layout=tr
kb_variant=
kb_model=
kb_options=
kb_rules=
follow_mouse=1 follow_mouse=1
force_no_accel=1 force_no_accel=1
touchpad { touchpad {
@ -58,30 +64,27 @@
decoration { decoration {
rounding=16 rounding=16
blur=1 blur=1
blur_size=3 # minimum 1 blur_size=3
blur_passes=3 # minimum 1, more passes = more resource intensive. blur_passes=3
# Your blur "amount" is blur_size * blur_passes, but high blur_size (over around 5-ish) will produce artifacts. blur_new_optimizations=1
# if you want heavy blur, you need to up the blur_passes. drop_shadow=1
# the more passes, the more you can up the blur_size without noticing artifacts. shadow_ignore_window=1
shadow_offset=2 2
shadow_range=2
shadow_render_power=1
col.shadow=0x55000000
} }
animations { animations {
enabled=1 enabled=1
animation=windows,1,2,default animation=windows,1,3,default,popin 80%
animation=borders,1,2,default animation=border,1,2,default
animation=fadein,1,2,default animation=fade,1,2,default
animation=workspaces,1,2,slide animation=workspaces,1,2,default,slide
} }
dwindle { dwindle {
pseudotile=0 # enable pseudotiling on dwindle pseudotile=0 # enable pseudotiling on dwindle
} }
# example window rules
# for windows named/classed as abc and xyz
#windowrule=move 69 420,abc
#windowrule=size 420 69,abc
#windowrule=tile,xyz
#windowrule=float,abc
#windowrule=pseudo,abc
#windowrule=monitor 0,xyz
bind=SUPER,RETURN,exec,${term} bind=SUPER,RETURN,exec,${term}
bind=SUPER,D,exec,${launcher} bind=SUPER,D,exec,${launcher}
bind=SUPER,Q,killactive, bind=SUPER,Q,killactive,
@ -98,26 +101,14 @@
bind=,XF86AudioMute,exec,${pulsemixer} --toggle-mute bind=,XF86AudioMute,exec,${pulsemixer} --toggle-mute
bind=,XF86MonBrightnessUp,exec,${light} -A 5 bind=,XF86MonBrightnessUp,exec,${light} -A 5
bind=,XF86MonBrightnessDown,exec,${light} -U 5 bind=,XF86MonBrightnessDown,exec,${light} -U 5
# screenshot
# selection
$ssselection=${grim} -g "$(${slurp})" - | ${wl-copy} -t image/png
bind=,Print,exec,$ssselection
bind=SUPERSHIFT,R,exec,$ssselection
# monitor
$ssmonitor=${grim} -o "$(${slurp} -f %o -or)" - | ${wl-copy} -t image/png
bind=CTRL,Print,exec,$ssmonitor
bind=SUPERSHIFTCTRL,R,exec,$ssmonitor
# all-monitors
$ssall=${grim} - | ${wl-copy} -t image/png
bind=ALT,Print,exec,$ssall
bind=SUPERSHIFTALT,R,exec,$ssall
# move focus # move focus
bind=SUPER,left,movefocus,l bind=SUPER,left,movefocus,l
bind=SUPER,right,movefocus,r bind=SUPER,right,movefocus,r
bind=SUPER,up,movefocus,u bind=SUPER,up,movefocus,u
bind=SUPER,down,movefocus,d bind=SUPER,down,movefocus,d
# go to workspace # go to workspace
bind=SUPER,grave,togglespecialworkspace,eDP-1
bind=SUPER,1,workspace,1 bind=SUPER,1,workspace,1
bind=SUPER,2,workspace,2 bind=SUPER,2,workspace,2
bind=SUPER,3,workspace,3 bind=SUPER,3,workspace,3
@ -128,23 +119,41 @@
bind=SUPER,8,workspace,8 bind=SUPER,8,workspace,8
bind=SUPER,9,workspace,9 bind=SUPER,9,workspace,9
bind=SUPER,0,workspace,10 bind=SUPER,0,workspace,10
# cycle workspaces # cycle workspaces
bind=SUPER,bracketleft,workspace,m-1 bind=SUPER,bracketleft,workspace,m-1
bind=SUPER,bracketright,workspace,m+1 bind=SUPER,bracketright,workspace,m+1
# cycle monitors # cycle monitors
bind=SUPERSHIFT,braceleft,focusmonitor,l bind=SUPERSHIFT,braceleft,focusmonitor,l
bind=SUPERSHIFT,braceright,focusmonitor,r bind=SUPERSHIFT,braceright,focusmonitor,r
# move to workspace # move to workspace
bind=SUPERSHIFT,asciitilde,movetoworkspace,special bind=SUPERSHIFT,1,movetoworkspace,1
bind=SUPERSHIFT,exclam,movetoworkspace,1 bind=SUPERSHIFT,2,movetoworkspace,2
bind=SUPERSHIFT,at,movetoworkspace,2 bind=SUPERSHIFT,3,movetoworkspace,3
bind=SUPERSHIFT,numbersign,movetoworkspace,3 bind=SUPERSHIFT,4,movetoworkspace,4
bind=SUPERSHIFT,dollar,movetoworkspace,4 bind=SUPERSHIFT,5,movetoworkspace,5
bind=SUPERSHIFT,percent,movetoworkspace,5 bind=SUPERSHIFT,6,movetoworkspace,6
bind=SUPERSHIFT,asciicircum,movetoworkspace,6 bind=SUPERSHIFT,7,movetoworkspace,7
bind=SUPERSHIFT,ampersand,movetoworkspace,7 bind=SUPERSHIFT,8,movetoworkspace,8
bind=SUPERSHIFT,asterisk,movetoworkspace,8 bind=SUPERSHIFT,9,movetoworkspace,9
bind=SUPERSHIFT,parenleft,movetoworkspace,9
bind=SUPERSHIFT,parenright,movetoworkspace,10 ## screenshot ##
bind=,Print,exec,screenshot area
bind=SUPERSHIFT,R,exec,screenshot area
# monitor
bind=CTRL,Print,exec,screenshot monitor
bind=SUPERSHIFTCTRL,R,exec,screenshot monitor
# all-monitors
bind=ALT,Print,exec,screenshot all
bind=SUPERSHIFTALT,R,exec,screenshot all
# screenrec
bind=ALT,Print,exec,screenshot rec area
bind=SUPERSHIFTALT,R,exec,screenshot rec area
''; '';
};
} }

View File

@ -0,0 +1,17 @@
{...}: {
programs.ssh = {
enable = true;
compression = true;
hashKnownHosts = true;
userKnownHostsFile = "~/.local/share/ssh/known-hosts";
# Only needed for darcs hub
# extraConfig = ''
# Host hub.darcs.net
# ControlMaster no
# ForwardAgent no
# ForwardX11 no
# Ciphers +aes256-cbc
# MACs +hmac-sha1
# '';
};
}

View File

@ -0,0 +1,20 @@
{pkgs, ...}: {
home.packages = with pkgs; [
wl-clipboard
];
home.sessionVariables = {
NIXOS_OZONE_WL = "1";
MOZ_ENABLE_WAYLAND = "1";
SDL_VIDEODRIVER = "wayland";
QT_QPA_PLATFORM = "wayland";
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
};
services = {
gammastep = {
enable = true;
provider = "geoclue2";
};
};
}

View File

@ -0,0 +1,56 @@
{
config,
tlib,
lib,
pkgs,
...
}: let
pkgBin = tlib.pkgBin;
in {
programs.zsh = {
enable = true;
autocd = true;
enableVteIntegration = true;
enableAutosuggestions = true;
enableCompletion = true;
plugins = [
{
name = "per-directory-history";
src = pkgs.fetchFromGitHub {
owner = "jimhester";
repo = "per-directory-history";
rev = "d2e291dd6434e340d9be0e15e1f5b94f32771c06";
hash = "sha256-VHRgrVCqzILqOes8VXGjSgLek38BFs9eijmp0JHtD5Q=";
};
}
];
# xdg compliant
dotDir = ".config/zsh";
history.path = "${config.home.homeDirectory}/.local/share/zsh/history";
initExtra = ''
${
lib.optionalString
(config.programs.ssh.enable && config.services.gpg-agent.enable)
"export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)"
}
function tomp4 () {
${pkgBin pkgs.ffmpeg} -i $1 -c:v libx264 -preset slow -crf 30 -c:a aac -b:a 128k "$1.mp4"
}
function topng () {
${pkgBin pkgs.ffmpeg} -i $1 "$1.png"
}
# fix some key stuff
bindkey "$terminfo[kRIT5]" forward-word
bindkey "$terminfo[kLFT5]" backward-word
# makes completions pog
zstyle ':completion:*' menu select
# which env we are in
${pkgBin pkgs.any-nix-shell} zsh --info-right | source /dev/stdin
'';
};
}

View File

@ -6,17 +6,10 @@
inputs, inputs,
... ...
} @ globalAttrs: let } @ globalAttrs: let
inherit (lib) mapAttrs' nameValuePair;
inherit (builtins) readDir fetchGit;
l = lib // builtins; l = lib // builtins;
pkgBin = tlib.pkgBin pkgs;
nixosConfig = globalAttrs.config; nixosConfig = globalAttrs.config;
in { in {
imports = [
inputs.hyprland.nixosModules.default
];
users.users.patriot = { users.users.patriot = {
isNormalUser = true; isNormalUser = true;
createHome = true; createHome = true;
@ -33,7 +26,7 @@ in {
}; };
environment = { environment = {
persistence.${config.system.persistDir}.directories = l.flatten [ persistence.${config.system.persistDir}.directories = l.flatten [
(lib.optional nixosConfig.programs.steam.enable "/home/patriot/.local/share/Steam") (l.optional nixosConfig.programs.steam.enable "/home/patriot/.local/share/Steam")
"/home/patriot/.cargo" "/home/patriot/.cargo"
"/home/patriot/proj" "/home/patriot/proj"
"/home/patriot/games" "/home/patriot/games"
@ -44,8 +37,10 @@ in {
xdg.portal = { xdg.portal = {
enable = true; enable = true;
wlr.enable = true; wlr.enable = true;
gtkUsePortal = true; extraPortals = with pkgs; [
extraPortals = with pkgs; [xdg-desktop-portal-gtk xdg-desktop-portal-wlr]; xdg-desktop-portal-gtk
xdg-desktop-portal-wlr
];
}; };
programs = { programs = {
# this is needed for impermanence # this is needed for impermanence
@ -55,8 +50,6 @@ in {
kdeconnect.enable = true; kdeconnect.enable = true;
# gnome stuffs # gnome stuffs
seahorse.enable = true; seahorse.enable = true;
hyprland.enable = true;
hyprland.extraPackages = [];
}; };
# gnome keyring better fr fr # gnome keyring better fr fr
security.pam.services.patriot = { security.pam.services.patriot = {
@ -80,28 +73,26 @@ in {
name = personal.name; name = personal.name;
email = personal.emails.primary; email = personal.emails.primary;
in { in {
imports = [ imports = let
../modules/direnv modulesToEnable = l.flatten [
../modules/git # desktop stuff
../modules/starship ["firefox" "hyprland" "wezterm" "font" "rofi" "mako" "discord"]
../modules/helix # cli stuff
../modules/zoxide ["zoxide" "zsh" "fzf" "starship" "direnv"]
../modules/wezterm # dev stuff
../modules/hyprland ["helix" "git" "ssh"]
../modules/rofi ];
../modules/mako in
../modules/font l.flatten [
../modules/firefox
../../modules/persist ../../modules/persist
# ../modules/smos
inputs.nixos-persistence.nixosModules.home-manager.impermanence inputs.nixos-persistence.nixosModules.home-manager.impermanence
(tlib.prefixStrings "${inputs.self}/users/modules/" modulesToEnable)
]; ];
system.persistDir = nixosConfig.system.persistDir; system.persistDir = nixosConfig.system.persistDir;
home.persistence."${config.system.persistDir}${config.home.homeDirectory}" = let home.persistence."${config.system.persistDir}${config.home.homeDirectory}" = let
mkPaths = prefix: paths: mkPaths = pfx: paths: tlib.prefixStrings "${pfx}/" (l.flatten paths);
builtins.map (n: "${prefix}/${n}") (l.flatten paths);
in { in {
directories = directories =
l.flatten [ l.flatten [
@ -135,27 +126,16 @@ in {
allowOther = true; allowOther = true;
}; };
fonts.fontconfig.enable = lib.mkForce true; fonts.fontconfig.enable = l.mkForce true;
fonts.settings = { fonts.settings = {
enable = true; enable = true;
name = "Comic Mono"; name = "Comic Mono";
size = 13; size = 13;
package = let package = pkgs.comic-mono;
ttf = pkgs.fetchurl {
url = "https://dtinth.github.io/comic-mono-font/ComicMono.ttf";
sha256 = "sha256-O8FCXpIqFqvw7HZ+/+TQJoQ5tMDc6YQy4H0V9drVcZY=";
};
in
pkgs.runCommandNoCC "comic-mono" {} ''
mkdir -p $out/share/fonts/truetype
ln -s ${ttf} $out/share/fonts/truetype
'';
}; };
home = { home = {
stateVersion = nixosConfig.system.stateVersion;
homeDirectory = nixosConfig.users.users.patriot.home; homeDirectory = nixosConfig.users.users.patriot.home;
packages = with pkgs; packages = with pkgs; [
l.flatten [
# Font stuff # Font stuff
noto-fonts-cjk noto-fonts-cjk
font-awesome font-awesome
@ -174,29 +154,12 @@ in {
ffmpeg ffmpeg
mupdf mupdf
xdg_utils xdg_utils
wl-clipboard
xclip
rust-analyzer rust-analyzer
# polymc # polymc
cloudflared cloudflared
lutris lutris
discord-open-asar
gamescope
protontricks protontricks
genymotion
]; ];
shellAliases =
nixosConfig.environment.shellAliases
// {
harmony-ssh = ''
${pkgBin "mosh"} root@chat.harmonyapp.io
'';
};
sessionVariables =
nixosConfig.environment.sessionVariables
// l.optionalAttrs config.programs.fzf.enable {
FZF_DEFAULT_OPTS = "--color=spinner:#F8BD96,hl:#F28FAD --color=fg:#D9E0EE,header:#F28FAD,info:#DDB6F2,pointer:#F8BD96 --color=marker:#F8BD96,fg+:#F2CDCD,prompt:#DDB6F2,hl+:#F28FAD";
};
}; };
programs = { programs = {
command-not-found.enable = command-not-found.enable =
@ -209,67 +172,12 @@ in {
userName = name; userName = name;
userEmail = email; userEmail = email;
}; };
ssh = { zsh.loginExtra = ''
enable = true;
compression = true;
hashKnownHosts = true;
userKnownHostsFile = "~/.local/share/ssh/known-hosts";
# Only needed for darcs hub
# extraConfig = ''
# Host hub.darcs.net
# ControlMaster no
# ForwardAgent no
# ForwardX11 no
# Ciphers +aes256-cbc
# MACs +hmac-sha1
# '';
};
zsh = {
enable = true;
autocd = true;
enableVteIntegration = true;
enableAutosuggestions = true;
enableCompletion = true;
plugins = [
{
name = "per-directory-history";
src = pkgs.fetchFromGitHub {
owner = "jimhester";
repo = "per-directory-history";
rev = "d2e291dd6434e340d9be0e15e1f5b94f32771c06";
hash = "sha256-VHRgrVCqzILqOes8VXGjSgLek38BFs9eijmp0JHtD5Q=";
};
}
];
# xdg compliant
dotDir = ".config/zsh";
history.path = "${config.home.homeDirectory}/.local/share/zsh/history";
initExtra = ''
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
function tomp4 () {
${pkgBin "ffmpeg"} -i $1 -c:v libx264 -preset slow -crf 30 -c:a aac -b:a 128k "$1.mp4"
}
function topng () {
${pkgBin "ffmpeg"} -i $1 "$1.png"
}
# fix some key stuff
bindkey "$terminfo[kRIT5]" forward-word
bindkey "$terminfo[kLFT5]" backward-word
# makes completions pog
zstyle ':completion:*' menu select
${pkgBin "any-nix-shell"} zsh --info-right | source /dev/stdin
'';
loginExtra = ''
if [[ "$(tty)" == "/dev/tty1" ]]; then if [[ "$(tty)" == "/dev/tty1" ]]; then
exec Hyprland exec Hyprland
fi fi
''; '';
}; };
fzf.enable = true;
};
services = { services = {
gpg-agent = let gpg-agent = let
defaultCacheTtl = 3600 * 6; defaultCacheTtl = 3600 * 6;