Compare commits
No commits in common. "main" and "test" have entirely different histories.
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +0,0 @@
|
|||||||
.direnv/
|
|
||||||
.pre-commit-config.yaml
|
|
@ -1,5 +1,7 @@
|
|||||||
# Nixos config
|
# Nixos config
|
||||||
|
|
||||||
My personal nixos config.
|
Very alpha,
|
||||||
|
don't look.
|
||||||
|
|
||||||
I try to keep it minimal and simple to maintain, otherwise I won't be able to maintain it for long.
|
|
||||||
|
Fuck off already!
|
||||||
|
467
flake.lock
467
flake.lock
@ -1,27 +1,5 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"devshell": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils_4",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixvim",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1713532798,
|
|
||||||
"narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "devshell",
|
|
||||||
"rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "devshell",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
@ -38,52 +16,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-compat_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1696426674,
|
|
||||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
|
||||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
|
||||||
"revCount": 57,
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat_3": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1696426674,
|
|
||||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat_4": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1696426674,
|
|
||||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
@ -92,11 +24,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1712014858,
|
"lastModified": 1706830856,
|
||||||
"narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=",
|
"narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "9126214d0a59633752a136528f5f3b9aa8565b7d",
|
"rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -109,60 +41,6 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
|
||||||
"lastModified": 1710146030,
|
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils_2": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1710146030,
|
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils_3": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_3"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1710146030,
|
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils_4": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_4"
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1701680307,
|
"lastModified": 1701680307,
|
||||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||||
@ -177,65 +55,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils_5": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_5"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1710146030,
|
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils_6": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_6"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1710146030,
|
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gitignore": {
|
"gitignore": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"hb-downloader",
|
|
||||||
"pre-commit-hooks",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1709087332,
|
|
||||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gitignore_2": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixvim",
|
"nixvim",
|
||||||
@ -244,11 +64,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709087332,
|
"lastModified": 1703887061,
|
||||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
"narHash": "sha256-gGPa9qWNc6eCXT/+Z5/zMkyYOuRZqeFZBDbopNZQkuY=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "gitignore.nix",
|
"repo": "gitignore.nix",
|
||||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
"rev": "43e1aa1308018f37118e34d3a9cb4f5e75dc11d5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -257,49 +77,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"gitignore_3": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"pre-commit-hooks",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1709087332,
|
|
||||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "gitignore.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hb-downloader": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils_2",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"pre-commit-hooks": "pre-commit-hooks"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1710853817,
|
|
||||||
"narHash": "sha256-Fn3lxKgi3BGWO2ku9LSZaNWTu1ls+BZjokPHElHzlpk=",
|
|
||||||
"ref": "refs/heads/main",
|
|
||||||
"rev": "867786099aca217af82c58122c4c54db847dbfdd",
|
|
||||||
"revCount": 8,
|
|
||||||
"type": "git",
|
|
||||||
"url": "file:///home/crony/Documents/develop/hb-downloader"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "file:///home/crony/Documents/develop/hb-downloader"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -307,11 +84,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714430505,
|
"lastModified": 1707467182,
|
||||||
"narHash": "sha256-SSJQ/KOy8uISnoZgqDoRha7g7PFLSFP/BtMWm0wUz8Q=",
|
"narHash": "sha256-/Bw/xgCXfj4nXDd8Xq+r1kaorfsYkkomMf5w5MpsDyA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "f8e6694edabe4aaa7a85aac47b43ea5d978b116d",
|
"rev": "5b9156fa9a8b8beba917b8f9adbfd27bf63e16af",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -328,11 +105,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714343445,
|
"lastModified": 1706955260,
|
||||||
"narHash": "sha256-OzD1P0o46uD3Ix4ZI/g9z3YAeg+4g+W3qctB6bNOReo=",
|
"narHash": "sha256-W3y0j77IDVbmbajudHoUr46RpswujUCl+D5Vru53UsI=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "9fe79591c1005ce6f93084ae7f7dab0a2891440d",
|
"rev": "880d9bc2110f7cae59698f715b8ca42cdc53670c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -349,11 +126,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713946171,
|
"lastModified": 1706833576,
|
||||||
"narHash": "sha256-lc75rgRQLdp4Dzogv5cfqOg6qYc5Rp83oedF2t0kDp8=",
|
"narHash": "sha256-w7BL0EWRts+nD1lbLECIuz6fRzmmV+z8oWwoY7womR0=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "230a197063de9287128e2c68a7a4b0cd7d0b50a7",
|
"rev": "bdbae6ecff8fcc322bf6b9053c0b984912378af7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -364,59 +141,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710765496,
|
"lastModified": 1707268954,
|
||||||
"narHash": "sha256-p7ryWEeQfMwTB6E0wIUd5V2cFTgq+DRRBz2hYGnJZyA=",
|
"narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=",
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "e367f7a1fb93137af22a3908f00b9a35e2d286a7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-stable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1710695816,
|
|
||||||
"narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "614b4613980a522ba49f0d194531beddbb7220d3",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-23.11",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-stable_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1710695816,
|
|
||||||
"narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "614b4613980a522ba49f0d194531beddbb7220d3",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-23.11",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1714253743,
|
|
||||||
"narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=",
|
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994",
|
"rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -426,40 +155,22 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1710765496,
|
|
||||||
"narHash": "sha256-p7ryWEeQfMwTB6E0wIUd5V2cFTgq+DRRBz2hYGnJZyA=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "e367f7a1fb93137af22a3908f00b9a35e2d286a7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixvim": {
|
"nixvim": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"devshell": "devshell",
|
|
||||||
"flake-compat": "flake-compat_2",
|
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"nix-darwin": "nix-darwin",
|
"nix-darwin": "nix-darwin",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"pre-commit-hooks": "pre-commit-hooks_2"
|
"pre-commit-hooks": "pre-commit-hooks"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714428171,
|
"lastModified": 1707545157,
|
||||||
"narHash": "sha256-HG7+mfvYZVwp1kkv1mmJVo+wh2caUiFP95NhQ534c2w=",
|
"narHash": "sha256-w4dubmw//nocfi2/KkvM1SLtDQUhIFfVsXDWf3zZTLk=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "35c0f714578fad139426dbf720725db45c8b170b",
|
"rev": "66c069c48db4b67fd0d536128b000684a5f72f5b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -471,30 +182,8 @@
|
|||||||
"pre-commit-hooks": {
|
"pre-commit-hooks": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"flake-utils": "flake-utils_3",
|
"flake-utils": "flake-utils",
|
||||||
"gitignore": "gitignore",
|
"gitignore": "gitignore",
|
||||||
"nixpkgs": "nixpkgs",
|
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1710843117,
|
|
||||||
"narHash": "sha256-b6iKQeHegzpc697rxTPA3bpwGN3m50eLCgdQOmceFuE=",
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "pre-commit-hooks.nix",
|
|
||||||
"rev": "e8dc1b4fe80c6fcededde7700e6a23bcdf7f3347",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "pre-commit-hooks.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pre-commit-hooks_2": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat_3",
|
|
||||||
"flake-utils": "flake-utils_5",
|
|
||||||
"gitignore": "gitignore_2",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixvim",
|
"nixvim",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
@ -505,33 +194,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713954846,
|
"lastModified": 1706424699,
|
||||||
"narHash": "sha256-RWFafuSb5nkWGu8dDbW7gVb8FOQOPqmX/9MlxUUDguw=",
|
"narHash": "sha256-Q3RBuOpZNH2eFA1e+IHgZLAOqDD9SKhJ/sszrL8bQD4=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "pre-commit-hooks.nix",
|
"repo": "pre-commit-hooks.nix",
|
||||||
"rev": "6fb82e44254d6a0ece014ec423cb62d92435336f",
|
"rev": "7c54e08a689b53c8a1e5d70169f2ec9e2a68ffaf",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "pre-commit-hooks.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pre-commit-hooks_3": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat_4",
|
|
||||||
"flake-utils": "flake-utils_6",
|
|
||||||
"gitignore": "gitignore_3",
|
|
||||||
"nixpkgs": "nixpkgs_3",
|
|
||||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1713954846,
|
|
||||||
"narHash": "sha256-RWFafuSb5nkWGu8dDbW7gVb8FOQOPqmX/9MlxUUDguw=",
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "pre-commit-hooks.nix",
|
|
||||||
"rev": "6fb82e44254d6a0ece014ec423cb62d92435336f",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -542,12 +209,9 @@
|
|||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"hb-downloader": "hb-downloader",
|
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim"
|
||||||
"pre-commit-hooks": "pre-commit-hooks_3"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
@ -564,81 +228,6 @@
|
|||||||
"repo": "default",
|
"repo": "default",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"systems_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_4": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_5": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_6": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
50
flake.nix
50
flake.nix
@ -4,10 +4,6 @@
|
|||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
|
||||||
|
|
||||||
pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
|
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
@ -17,35 +13,27 @@
|
|||||||
url = "github:nix-community/nixvim";
|
url = "github:nix-community/nixvim";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
hb-downloader = {
|
|
||||||
url = "git+file:///home/crony/Documents/develop/hb-downloader";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ self, nixpkgs, flake-utils, pre-commit-hooks, home-manager
|
outputs = inputs@{ self, nixpkgs, home-manager, ... }: {
|
||||||
, ... }: {
|
nixosConfigurations = {
|
||||||
nixosConfigurations = {
|
default = nixpkgs.lib.nixosSystem {
|
||||||
default = nixpkgs.lib.nixosSystem {
|
|
||||||
system = "x86_64-linux";
|
|
||||||
modules = [
|
|
||||||
./nixos/configuration.nix
|
|
||||||
|
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
{
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
|
||||||
home-manager.users.crony = {
|
|
||||||
imports = [ ./home-manager/home.nix ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
devShells.x86_64-linux.default = let
|
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
modules = [
|
||||||
in (import ./shell.nix { inherit pkgs pre-commit-hooks; });
|
./nixos/configuration.nix
|
||||||
|
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.extraSpecialArgs = {inherit inputs;};
|
||||||
|
home-manager.users.crony = {
|
||||||
|
imports = [
|
||||||
|
./home-manager/home.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ inputs, pkgs, ... }:
|
{ config, pkgs, inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Basic user info
|
# Basic user info
|
||||||
@ -9,108 +9,73 @@
|
|||||||
home.stateVersion = "23.11";
|
home.stateVersion = "23.11";
|
||||||
|
|
||||||
# Imports
|
# Imports
|
||||||
imports = [
|
imports =
|
||||||
./modules/gpg.nix
|
[
|
||||||
./modules/btop.nix
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
./modules/mpv.nix
|
|
||||||
./modules/tmux.nix
|
|
||||||
./modules/nnn.nix
|
|
||||||
./modules/dmenu.nix
|
|
||||||
./modules/mangohud.nix
|
|
||||||
./modules/shell.nix
|
|
||||||
./modules/nvim.nix
|
|
||||||
./modules/restic.nix
|
|
||||||
# ./modules/theming.nix # Not needed when using plasma
|
|
||||||
./modules/plasma.nix
|
|
||||||
./modules/alacritty.nix
|
|
||||||
./modules/newsboat.nix
|
|
||||||
# ./modules/helix.nix
|
|
||||||
./modules/tofi.nix
|
|
||||||
./modules/vkbasalt.nix
|
|
||||||
./modules/nushell.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
# My packages
|
# My packages
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
librewolf # Nice privacy browser
|
librewolf # Nice privacy browser
|
||||||
thunderbird # Nice mail client
|
thunderbird # Nice mail client
|
||||||
qutebrowser # Nice browser in general
|
qutebrowser # Nice browser in general
|
||||||
armcord # Nicer discord client
|
discord # Fuck the fact I have to use it
|
||||||
mattermost-desktop # Mattermost
|
|
||||||
keepassxc # Best password manager
|
keepassxc # Best password manager
|
||||||
buku # Nice bookmark manager
|
buku # Nice bookmark manager
|
||||||
bukubrow # Nice bookmark manager browser support
|
bukubrow # Nice bookmark manager browser support
|
||||||
rclone # Best sync client in the world
|
rclone # Best sync client in the world
|
||||||
age # Simple file encryption
|
age # Simple file encryption
|
||||||
hyperfine # Program benchmarking
|
alacritty # Best terminal
|
||||||
tldr # simpler manpages
|
nitch # Simple system info
|
||||||
jq # Json parser
|
|
||||||
pup # html parser
|
|
||||||
neofetch # Neo
|
|
||||||
libarchive # bsdtar
|
libarchive # bsdtar
|
||||||
unrar # Extract rar archives
|
|
||||||
imagemagick # image tools
|
imagemagick # image tools
|
||||||
ffmpeg # video manupilation
|
ffmpeg # video manupilation
|
||||||
glow # markdown viewer
|
glow # markdown viewer
|
||||||
piper # ratbagd mice config gui
|
piper # ratbagd mice config gui
|
||||||
krita # best drawing program
|
krita # best drawing program
|
||||||
tutanota-desktop # fjdlkfjldjflkd
|
tutanota-desktop # fjdlkfjldjflkd
|
||||||
nurl # nix git config tool
|
delfin # jellyfin client
|
||||||
|
nurl # nix tool
|
||||||
|
ripgrep # Neovim telescope dependency
|
||||||
lazygit # Amazing git tui
|
lazygit # Amazing git tui
|
||||||
lm_sensors # Sensor monitoring tool
|
lm_sensors # Sensor monitoring tool
|
||||||
feather # Amazing monero wallet
|
|
||||||
heroic # Epic games/gog game launcher
|
|
||||||
beets # Music tagger
|
|
||||||
nicotine-plus # Amazing soulseek client
|
|
||||||
prismlauncher # Best minecraft launcher
|
|
||||||
aria2 # Fast download manager
|
|
||||||
starsector # Nice little game I got coaxed into trying
|
|
||||||
protonup-qt # Proton ge manager
|
|
||||||
protontricks # Tricks
|
|
||||||
ungoogled-chromium # For sites that don't work with firefox based browsers
|
|
||||||
abcde # CLI audio ripper
|
|
||||||
jellyfin-mpv-shim # Jellyfin media with mpv
|
|
||||||
pandoc # I wish I didn't have to use it
|
|
||||||
p7zip # 7Zip
|
|
||||||
protonvpn-gui # Protonvpn
|
|
||||||
mumble # Mumble gui
|
|
||||||
feishin # Jellyfin player
|
|
||||||
arx-libertatis # Arx fatalis cross platform engine port
|
|
||||||
devilutionx # Diablo 1 source port
|
|
||||||
antimicrox # Controller mapper
|
|
||||||
godot_4 # FOSS Game Engine
|
|
||||||
nheko # Matrix client
|
|
||||||
(nerdfonts.override { fonts = [ "CascadiaCode" ]; }) # Best font
|
(nerdfonts.override { fonts = [ "CascadiaCode" ]; }) # Best font
|
||||||
# (retroarch.override {
|
|
||||||
# cores = with libretro; [
|
# My custom dmenu build
|
||||||
# snes9x
|
(dmenu.overrideAttrs (oldAttrs: rec {
|
||||||
# mgba
|
src = builtins.fetchGit {
|
||||||
# gambatte
|
url = "https://code.cronyakatsuki.xyz/crony/dmenu";
|
||||||
# flycast
|
rev = "10dcddf14b38cfd965ab27f084139513baed70bf";
|
||||||
# genesis-plus-gx
|
};
|
||||||
# mupen64plus
|
}))
|
||||||
# melonds
|
|
||||||
# fceumm
|
# # You can also create simple shell scripts directly inside your
|
||||||
# beetle-saturn
|
# # configuration. For example, this adds a command 'my-hello' to your
|
||||||
# ];
|
# # environment:
|
||||||
# }) # Retroarch with cores
|
# (writeShellScriptBin "my-hello" ''
|
||||||
# dolphin-emu # Gamecube/wii emulator
|
# echo "Hello, ${config.home.username}!"
|
||||||
# duckstation # Playstation 1 emulator
|
# '')
|
||||||
# pcsx2 # Playstation 2 emulator
|
|
||||||
# ppsspp-sdl-wayland # Playstation portable emulator
|
|
||||||
(callPackage ./modules/scripts.nix { inherit pkgs; }) # My scripts
|
|
||||||
(callPackage ./modules/comet-gog.nix {
|
|
||||||
inherit pkgs;
|
|
||||||
}) # Comet for gog achievements
|
|
||||||
inputs.hb-downloader.packages.${pkgs.system}.default # My custom humble bundle bulk link extractor for aria2 list format
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||||
|
# plain files is through 'home.file'.
|
||||||
|
home.file = {
|
||||||
|
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
|
||||||
|
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
|
||||||
|
# # symlink to the Nix store copy. ".screenrc".source = dotfiles/screenrc;
|
||||||
|
# # You can also set the file content immediately.
|
||||||
|
# ".gradle/gradle.properties".text = ''
|
||||||
|
# org.gradle.console=verbose
|
||||||
|
# org.gradle.daemon.idletimeout=3600000
|
||||||
|
# '';
|
||||||
|
};
|
||||||
|
|
||||||
# Environmental variables I can't live without
|
# Environmental variables I can't live without
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
BROWSER = "qutebrowser";
|
BROWSER = "qutebrowser";
|
||||||
TERMINAL = "alacritty";
|
TERMINAL = "alacritty";
|
||||||
SECOND_BRAIN = "$HOME/Documents/sb";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Fix environmental variables not loaded in plasma x11
|
# Fix environmental variables not loaded in plasma x11
|
||||||
@ -119,11 +84,519 @@
|
|||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
programs.home-manager.enable = true;
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
# Home manager settings
|
# gpg settings
|
||||||
dconf.settings = {
|
programs.gpg = {
|
||||||
"org/virt-manager/virt-manager/connections" = {
|
enable = true;
|
||||||
autoconnect = [ "qemu:///system" ];
|
homedir = "${config.xdg.dataHome}/gnupg";
|
||||||
uris = [ "qemu:///system" ];
|
};
|
||||||
|
|
||||||
|
# Make it use kde for flkdsjlkfdlsjflkdsjflsdjklfjdsklf
|
||||||
|
services.gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
pinentryFlavor = "qt";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Btop settings
|
||||||
|
programs.btop = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
color_theme = "catppuccin_frappe";
|
||||||
|
vim_keys = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Mpv settings
|
||||||
|
programs.mpv = {
|
||||||
|
enable = true;
|
||||||
|
config = {
|
||||||
|
ytdl-format="bestvideo[height<=?1080][fps<=?60][vcodec!=?vp9]+bestaudio/best";
|
||||||
|
ytdl-raw-options="extractor-args=youtube:player-client=android";
|
||||||
|
fs=true;
|
||||||
|
force-window="immediate";
|
||||||
|
screenshot-template="%F - [%P]v%#01n";
|
||||||
|
sub-file-paths="Subs;subs";
|
||||||
|
sub-auto="all";
|
||||||
|
slang="english,eng,en";
|
||||||
|
};
|
||||||
|
scripts = with pkgs.mpvScripts; [ mpris sponsorblock uosc thumbfast quality-menu ];
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.tmux = {
|
||||||
|
enable = true;
|
||||||
|
disableConfirmationPrompt = true;
|
||||||
|
escapeTime = 0;
|
||||||
|
keyMode = "vi";
|
||||||
|
mouse = true;
|
||||||
|
plugins = with pkgs; [
|
||||||
|
tmuxPlugins.sensible
|
||||||
|
tmuxPlugins.yank
|
||||||
|
{
|
||||||
|
plugin = tmuxPlugins.catppuccin;
|
||||||
|
extraConfig = ''
|
||||||
|
set -g @catppuccin_flavour 'frappe'
|
||||||
|
set -g @catppuccin_window_right_separator "█ "
|
||||||
|
set -g @catppuccin_window_number_position "right"
|
||||||
|
set -g @catppuccin_window_middle_separator " | "
|
||||||
|
|
||||||
|
set -g @catppuccin_window_default_fill "none"
|
||||||
|
|
||||||
|
set -g @catppuccin_window_current_fill "all"
|
||||||
|
|
||||||
|
set -g @catppuccin_status_modules_right "application session date_time"
|
||||||
|
set -g @catppuccin_status_left_separator "█"
|
||||||
|
set -g @catppuccin_status_right_separator "█"
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
];
|
||||||
|
prefix = "C-Space";
|
||||||
|
terminal = "alacritty";
|
||||||
|
extraConfig = ''
|
||||||
|
# Fix colors
|
||||||
|
set-option -sa terminal-overrides ",alacritty:Tc"
|
||||||
|
|
||||||
|
# start window and panes indexing at 1
|
||||||
|
set -g base-index 1
|
||||||
|
set -g pane-base-index 1
|
||||||
|
set-window-option -g pane-base-index 1
|
||||||
|
set-option -g renumber-windows on
|
||||||
|
|
||||||
|
# Faster statusbar updates
|
||||||
|
set-option -g status-interval 1
|
||||||
|
|
||||||
|
# Easier movement
|
||||||
|
bind -n M-K previous-window
|
||||||
|
bind -n M-J next-window
|
||||||
|
|
||||||
|
# Better split bindings
|
||||||
|
bind "'" split-window -v -c "#{pane_current_path}"
|
||||||
|
bind '\' split-window -h -c "#{pane_current_path}"
|
||||||
|
|
||||||
|
# Vim keybindings for pane movement
|
||||||
|
setw -g mode-keys vi
|
||||||
|
bind-key h select-pane -L
|
||||||
|
bind-key j select-pane -D
|
||||||
|
bind-key k select-pane -U
|
||||||
|
bind-key l select-pane -R
|
||||||
|
|
||||||
|
# Status bar border
|
||||||
|
setw -g pane-border-status top
|
||||||
|
setw -g pane-border-format '─'
|
||||||
|
|
||||||
|
# Bar to top
|
||||||
|
set-option -g status-position top
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# NNN Settings
|
||||||
|
programs.nnn = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.nnn.override ({ withNerdIcons = true; });
|
||||||
|
bookmarks = { d = "~/Documents"; D = "~/Downloads"; p = "~/Pictures"; v = "~/Videos";};
|
||||||
|
extraPackages = with pkgs; [ pmount ffmpegthumbnailer mediainfo ueberzugpp poppler_utils gnome-epub-thumbnailer nsxiv ];
|
||||||
|
plugins.mappings = { u = "nmount"; c = "chksum"; r = "gitroot"; v = "imgview"; m = "mtpmount"; d = "xdgdefault"; x = "togglex"; p = "preview-tui"; };
|
||||||
|
plugins.src = (pkgs.fetchFromGitHub { owner = "jarun"; repo = "nnn"; rev = "v4.9"; sha256 = "sha256-g19uI36HyzTF2YUQKFP4DE2ZBsArGryVHhX79Y0XzhU=";}) + "/plugins";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Mangohud settings
|
||||||
|
programs.mangohud = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
# GPU SETTINGS
|
||||||
|
gpu_stats = true;
|
||||||
|
gpu_temp = true;
|
||||||
|
gpu_core_clock = true;
|
||||||
|
gpu_power = true;
|
||||||
|
gpu_text = "GPU";
|
||||||
|
gpu_load_change = true;
|
||||||
|
gpu_load_color = "39F900,FDFD09,B22222";
|
||||||
|
# CPU SETTINGS
|
||||||
|
cpu_stats = true;
|
||||||
|
cpu_temp = true;
|
||||||
|
cpu_text = "CPU";
|
||||||
|
cpu_mhz = true;
|
||||||
|
cpu_load_change = true;
|
||||||
|
cpu_load_value = "60,90";
|
||||||
|
cpu_load_color = "39F900,FDFD09,B22222";
|
||||||
|
# Vram/Ram/Swap
|
||||||
|
vram = true;
|
||||||
|
ram = true;
|
||||||
|
swap = true;
|
||||||
|
# Fps settings
|
||||||
|
fps = true;
|
||||||
|
fps_sampling_period = "1000";
|
||||||
|
fps_color_change = true;
|
||||||
|
fps_value = "30,60";
|
||||||
|
fps_color = "B22222,FDFD09,39F900";
|
||||||
|
frametime = true;
|
||||||
|
# Misc
|
||||||
|
gpu_name = true;
|
||||||
|
vulkan_driver = true;
|
||||||
|
show_fps_limit = true;
|
||||||
|
resolution = true;
|
||||||
|
round_corners = "5";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# But we all know I love zsh
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableAutosuggestions = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
history.path = "${config.xdg.dataHome}/zsh/history";
|
||||||
|
dotDir = ".config/zsh";
|
||||||
|
envExtra = ''
|
||||||
|
# NNN settings
|
||||||
|
export NNN_FIFO="/tmp/nnn.fifo"
|
||||||
|
export NNN_SSHFS="sshfs -o follow_symlinks"
|
||||||
|
export NNN_TERMINAL="alacritty --class preview,preview"
|
||||||
|
|
||||||
|
# Catppuccin colors nnn
|
||||||
|
BLK="03" CHR="03" DIR="04" EXE="02" REG="07" HARDLINK="05" SYMLINK="05" MISSING="08" ORPHAN="01" FIFO="06" SOCK="03" UNKNOWN="01"
|
||||||
|
export NNN_COLORS="#04020301;4231"
|
||||||
|
export NNN_FCOLORS="$BLK$CHR$DIR$EXE$REG$HARDLINK$SYMLINK$MISSING$ORPHAN$FIFO$SOCK$UNKNOWN"
|
||||||
|
'';
|
||||||
|
initExtra = ''
|
||||||
|
# VI Mode escape timeout fix
|
||||||
|
export KEYTIMEOUT=1
|
||||||
|
|
||||||
|
# Substring search settings
|
||||||
|
export HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND="bg=blue,fg=black,bold"
|
||||||
|
export HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND='bg=red,fg=black,bold'
|
||||||
|
bindkey -M vicmd 'k' history-substring-search-up
|
||||||
|
bindkey -M vicmd 'j' history-substring-search-down
|
||||||
|
'';
|
||||||
|
initExtraFirst = ''
|
||||||
|
nitch
|
||||||
|
'';
|
||||||
|
zplug = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [
|
||||||
|
{ name = "zap-zsh/supercharge"; }
|
||||||
|
{ name = "zap-zsh/completions"; }
|
||||||
|
{ name = "zap-zsh/vim"; }
|
||||||
|
{ name = "chivalryq/git-alias"; }
|
||||||
|
{ name = "zdharma-continuum/fast-syntax-highlighting"; }
|
||||||
|
{ name = "MichaelAquilina/zsh-you-should-use"; }
|
||||||
|
{ name = "zsh-users/zsh-history-substring-search"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Eza settings
|
||||||
|
programs.eza = {
|
||||||
|
enable = true;
|
||||||
|
enableAliases = true;
|
||||||
|
git = true;
|
||||||
|
icons = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Zoxide settings
|
||||||
|
programs.zoxide = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Starhip settings
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Fzf settings
|
||||||
|
programs.fzf = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Nixvim
|
||||||
|
programs.nixvim = {
|
||||||
|
enable = true;
|
||||||
|
viAlias = true;
|
||||||
|
vimAlias = true;
|
||||||
|
|
||||||
|
options = {
|
||||||
|
hlsearch = false;
|
||||||
|
incsearch = true;
|
||||||
|
number = true;
|
||||||
|
relativenumber = true;
|
||||||
|
tabstop = 4;
|
||||||
|
softtabstop = 4;
|
||||||
|
shiftwidth = 4;
|
||||||
|
expandtab = true;
|
||||||
|
smartindent = true;
|
||||||
|
mouse = "";
|
||||||
|
breakindent = true;
|
||||||
|
undofile = true;
|
||||||
|
swapfile = true;
|
||||||
|
ignorecase = true;
|
||||||
|
smartcase = true;
|
||||||
|
signcolumn = "yes";
|
||||||
|
completeopt = "menuone,noselect";
|
||||||
|
updatetime = 50;
|
||||||
|
timeoutlen = 300;
|
||||||
|
colorcolumn = "80";
|
||||||
|
showmode = false;
|
||||||
|
laststatus = 3;
|
||||||
|
splitbelow = true;
|
||||||
|
splitright = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
globals = {
|
||||||
|
mapleader = " ";
|
||||||
|
maplocalleader = ";";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfigLuaPost = ''
|
||||||
|
vim.notify = require("mini.notify").make_notify()
|
||||||
|
'';
|
||||||
|
plugins = {
|
||||||
|
harpoon = {
|
||||||
|
enable = true;
|
||||||
|
keymaps = {
|
||||||
|
addFile = "<leader>a";
|
||||||
|
toggleQuickMenu = "<C-e>";
|
||||||
|
navFile = { "1" = "<C-j>"; "2" = "<C-k>"; "3" = "<C-l>"; "4" = "<C-;>"; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
oil = {
|
||||||
|
enable = true;
|
||||||
|
defaultFileExplorer = true;
|
||||||
|
extraOptions = { show_hidden = true; };
|
||||||
|
};
|
||||||
|
|
||||||
|
treesitter.enable = true;
|
||||||
|
|
||||||
|
gitsigns = {
|
||||||
|
enable = true;
|
||||||
|
signs = {
|
||||||
|
add.text = "▎";
|
||||||
|
change.text = "▎";
|
||||||
|
changedelete.text = "▎";
|
||||||
|
delete.text = "▎";
|
||||||
|
topdelete.text = "▎";
|
||||||
|
untracked.text = "▎";
|
||||||
|
};
|
||||||
|
onAttach.function = ''
|
||||||
|
function(buffer)
|
||||||
|
local gs = package.loaded.gitsigns
|
||||||
|
|
||||||
|
local function map(mode, l, r, desc)
|
||||||
|
vim.keymap.set(mode, l, r, { buffer = buffer, desc = desc })
|
||||||
|
end
|
||||||
|
|
||||||
|
-- stylua: ignore start
|
||||||
|
map("n", "]g", gs.next_hunk, "Next git hunk")
|
||||||
|
map("n", "[g", gs.prev_hunk, "Previous git hunk")
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
mini = {
|
||||||
|
enable = true;
|
||||||
|
modules = {
|
||||||
|
statusline = {
|
||||||
|
set_vim_settings = false;
|
||||||
|
};
|
||||||
|
comment = {};
|
||||||
|
notify = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
telescope = {
|
||||||
|
enable = true;
|
||||||
|
extensions = {
|
||||||
|
fzf-native = {
|
||||||
|
enable = true;
|
||||||
|
fuzzy = true;
|
||||||
|
overrideGenericSorter = true;
|
||||||
|
overrideFileSorter = true;
|
||||||
|
caseMode = "smart_case";
|
||||||
|
};
|
||||||
|
ui-select.enable = true;
|
||||||
|
};
|
||||||
|
keymaps = {
|
||||||
|
"<leader>pf" = "find_files";
|
||||||
|
"<C-p>" = "git_files";
|
||||||
|
"<leader>vh" = "help_tags";
|
||||||
|
"<leader>ps" = "grep_string";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
lsp = {
|
||||||
|
enable = true;
|
||||||
|
servers = {
|
||||||
|
lua-ls.enable = true;
|
||||||
|
nil_ls.enable = true;
|
||||||
|
marksman.enable = true;
|
||||||
|
};
|
||||||
|
keymaps = {
|
||||||
|
diagnostic = {
|
||||||
|
"<leader>vd" = "open_float";
|
||||||
|
"[d" = "goto_next";
|
||||||
|
"]d" = "goto_prev";
|
||||||
|
};
|
||||||
|
lspBuf = {
|
||||||
|
K = "hover";
|
||||||
|
gd = "definition";
|
||||||
|
gD = "declaration";
|
||||||
|
gi = "implementation";
|
||||||
|
"<leader>lca" = "code_action";
|
||||||
|
"<leader>lrn" = "rename";
|
||||||
|
"<C-h>" = "signature_help";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
preConfig = ''
|
||||||
|
local function sign_define(args)
|
||||||
|
vim.fn.sign_define(args.name, {
|
||||||
|
texthl = args.name,
|
||||||
|
text = args.text,
|
||||||
|
numhl = "",
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
sign_define({ name = "DiagnosticSignError", text = "E" })
|
||||||
|
sign_define({ name = "DiagnosticSignWarn", text = "W" })
|
||||||
|
sign_define({ name = "DiagnosticSignHint", text = "H" })
|
||||||
|
sign_define({ name = "DiagnosticSignInfo", text = "I" })
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
nvim-cmp = {
|
||||||
|
enable = true;
|
||||||
|
autoEnableSources = true;
|
||||||
|
sources = [
|
||||||
|
{name = "nvim_lsp";}
|
||||||
|
{name = "path";}
|
||||||
|
{name = "snippy";}
|
||||||
|
];
|
||||||
|
snippet.expand = "snippy";
|
||||||
|
mapping = {
|
||||||
|
"<C-l>" = "cmp.mapping.confirm({ select = false })";
|
||||||
|
"<C-j>" = {
|
||||||
|
action = ''
|
||||||
|
function(fallback)
|
||||||
|
if cmp.visible then
|
||||||
|
cmp.select_next_item()
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
modes = [ "i" "s" ];
|
||||||
|
};
|
||||||
|
"<C-k>" = {
|
||||||
|
action = ''
|
||||||
|
function(fallback)
|
||||||
|
if cmp.visible then
|
||||||
|
cmp.select_prev_item()
|
||||||
|
else
|
||||||
|
fallback()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
modes = [ "i" "s" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
colorschemes.catppuccin = {
|
||||||
|
enable = true;
|
||||||
|
flavour = "frappe";
|
||||||
|
styles = {
|
||||||
|
functions = [ "bold" ];
|
||||||
|
keywords = [ "bold" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
extraPlugins = with pkgs.vimPlugins; [
|
||||||
|
vim-snippets
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
##-- Restic Timers And Services --##
|
||||||
|
|
||||||
|
# Restic backup
|
||||||
|
systemd.user.services = {
|
||||||
|
restic_backup = {
|
||||||
|
Unit.Description = "Restic backup service";
|
||||||
|
Service = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = toString (
|
||||||
|
pkgs.writeShellScript "restic-backup" ''
|
||||||
|
. /etc/restic/local
|
||||||
|
restic backup --files-from /home/crony/.config/restic/list --verbose && restic forget --keep-last 10 --keep-daily 7 --keep-weekly 5 --keep-monthly 12
|
||||||
|
. /etc/restic/online
|
||||||
|
restic backup --files-from /home/crony/.config/restic/list --verbose && restic forget --keep-last 10 --keep-daily 7 --keep-weekly 5 --keep-monthly 12
|
||||||
|
''
|
||||||
|
);
|
||||||
|
};
|
||||||
|
Install.WantedBy = [ "default.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systemd.user.timers = {
|
||||||
|
restic_backup = {
|
||||||
|
Unit.Description = "Restic backup timer";
|
||||||
|
Timer = {
|
||||||
|
OnBootSec = "5m";
|
||||||
|
OnUnitActiveSec = "6h";
|
||||||
|
};
|
||||||
|
Install.WantedBy = [ "timers.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Restic check
|
||||||
|
systemd.user.services = {
|
||||||
|
restic_check = {
|
||||||
|
Unit.Description = "Restic check service";
|
||||||
|
Service = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = toString (
|
||||||
|
pkgs.writeShellScript "restic-check" ''
|
||||||
|
. /etc/restic/local
|
||||||
|
restic check --read-data-subset=10%
|
||||||
|
. /etc/restic/online
|
||||||
|
restic check --read-data-subset=10%
|
||||||
|
''
|
||||||
|
);
|
||||||
|
};
|
||||||
|
Install.WantedBy = [ "default.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systemd.user.timers = {
|
||||||
|
restic_check = {
|
||||||
|
Unit.Description = "Restic check timer";
|
||||||
|
Timer = {
|
||||||
|
OnCalendar="Thu *-*-* 18:00:00";
|
||||||
|
};
|
||||||
|
Install.WantedBy = [ "timers.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Restic prune
|
||||||
|
systemd.user.services = {
|
||||||
|
restic_prune = {
|
||||||
|
Unit.Description = "Restic prune service";
|
||||||
|
Service = {
|
||||||
|
Type = "oneshot";
|
||||||
|
ExecStart = toString (
|
||||||
|
pkgs.writeShellScript "restic-prune" ''
|
||||||
|
. /etc/restic/local
|
||||||
|
restic prune
|
||||||
|
. /etc/restic/online
|
||||||
|
restic prune
|
||||||
|
''
|
||||||
|
);
|
||||||
|
};
|
||||||
|
Install.WantedBy = [ "default.target" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
systemd.user.timers = {
|
||||||
|
restic_prune = {
|
||||||
|
Unit.Description = "Restic prune timer";
|
||||||
|
Timer = {
|
||||||
|
OnCalendar="Fri *-*-* 18:00:00";
|
||||||
|
};
|
||||||
|
Install.WantedBy = [ "timers.target" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
# Install alacritty
|
|
||||||
programs.alacritty.enable = true;
|
|
||||||
|
|
||||||
# Setup my config file
|
|
||||||
home.file = {
|
|
||||||
".config/alacritty/alacritty.toml".source = ./confs/alacritty.toml;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,10 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
# Btop settings
|
|
||||||
programs.btop = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
color_theme = "catppuccin_frappe";
|
|
||||||
vim_keys = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
with pkgs;
|
|
||||||
rustPlatform.buildRustPackage rec {
|
|
||||||
pname = "comet-gog";
|
|
||||||
version = "e313c8a";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "imLinguin";
|
|
||||||
repo = "comet";
|
|
||||||
rev = "42768af2056c5bc8ed2e51f8ff6e933d8802fc5d";
|
|
||||||
hash = "sha256-npf+Yb9TWp0PMbpHPRKF05RVHLj9iaBgl5lSYeeMfHQ=";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
PROTOC = "${protobuf}/bin/protoc";
|
|
||||||
PROTOC_INCLUDE = "${protobuf}/include";
|
|
||||||
nativeBuildInputs = [ protobuf ];
|
|
||||||
|
|
||||||
cargoLock.lockFile = src + /Cargo.lock;
|
|
||||||
}
|
|
@ -1,110 +0,0 @@
|
|||||||
[colors.primary]
|
|
||||||
background = "#303446"
|
|
||||||
foreground = "#C6D0F5"
|
|
||||||
dim_foreground = "#C6D0F5"
|
|
||||||
bright_foreground = "#C6D0F5"
|
|
||||||
|
|
||||||
[colors.cursor]
|
|
||||||
text = "#303446"
|
|
||||||
cursor = "#F2D5CF"
|
|
||||||
|
|
||||||
[colors.vi_mode_cursor]
|
|
||||||
text = "#303446"
|
|
||||||
cursor = "#BABBF1"
|
|
||||||
|
|
||||||
[colors.search.matches]
|
|
||||||
foreground = "#303446"
|
|
||||||
background = "#A5ADCE"
|
|
||||||
|
|
||||||
[colors.search.focused_match]
|
|
||||||
foreground = "#303446"
|
|
||||||
background = "#A6D189"
|
|
||||||
|
|
||||||
[colors.footer_bar]
|
|
||||||
foreground = "#303446"
|
|
||||||
background = "#A5ADCE"
|
|
||||||
|
|
||||||
[colors.hints.start]
|
|
||||||
foreground = "#303446"
|
|
||||||
background = "#E5C890"
|
|
||||||
|
|
||||||
[colors.hints.end]
|
|
||||||
foreground = "#303446"
|
|
||||||
background = "#A5ADCE"
|
|
||||||
|
|
||||||
[colors.selection]
|
|
||||||
text = "#303446"
|
|
||||||
background = "#F2D5CF"
|
|
||||||
|
|
||||||
[colors.normal]
|
|
||||||
black = "#51576D"
|
|
||||||
red = "#E78284"
|
|
||||||
green = "#A6D189"
|
|
||||||
yellow = "#E5C890"
|
|
||||||
blue = "#8CAAEE"
|
|
||||||
magenta = "#F4B8E4"
|
|
||||||
cyan = "#81C8BE"
|
|
||||||
white = "#B5BFE2"
|
|
||||||
|
|
||||||
[colors.bright]
|
|
||||||
black = "#626880"
|
|
||||||
red = "#E78284"
|
|
||||||
green = "#A6D189"
|
|
||||||
yellow = "#E5C890"
|
|
||||||
blue = "#8CAAEE"
|
|
||||||
magenta = "#F4B8E4"
|
|
||||||
cyan = "#81C8BE"
|
|
||||||
white = "#A5ADCE"
|
|
||||||
|
|
||||||
[colors.dim]
|
|
||||||
black = "#51576D"
|
|
||||||
red = "#E78284"
|
|
||||||
green = "#A6D189"
|
|
||||||
yellow = "#E5C890"
|
|
||||||
blue = "#8CAAEE"
|
|
||||||
magenta = "#F4B8E4"
|
|
||||||
cyan = "#81C8BE"
|
|
||||||
white = "#B5BFE2"
|
|
||||||
|
|
||||||
[[colors.indexed_colors]]
|
|
||||||
index = 16
|
|
||||||
color = "#EF9F76"
|
|
||||||
|
|
||||||
[[colors.indexed_colors]]
|
|
||||||
index = 17
|
|
||||||
color = "#F2D5CF"
|
|
||||||
|
|
||||||
[font]
|
|
||||||
builtin_box_drawing = true
|
|
||||||
size = 11
|
|
||||||
|
|
||||||
[font.bold]
|
|
||||||
family = "CaskaydiaCove Nerd Font"
|
|
||||||
style = "Bold"
|
|
||||||
|
|
||||||
[font.bold_italic]
|
|
||||||
family = "CaskaydiaCove Nerd Font"
|
|
||||||
style = "Bold Italic"
|
|
||||||
|
|
||||||
[font.italic]
|
|
||||||
family = "CaskaydiaCove Nerd Font"
|
|
||||||
style = "Italic"
|
|
||||||
|
|
||||||
[font.normal]
|
|
||||||
family = "CaskaydiaCove Nerd Font"
|
|
||||||
style = "Regular"
|
|
||||||
|
|
||||||
[[keyboard.bindings]]
|
|
||||||
action = "ToggleFullscreen"
|
|
||||||
key = "F11"
|
|
||||||
|
|
||||||
[window]
|
|
||||||
decorations = "full"
|
|
||||||
dynamic_padding = true
|
|
||||||
dynamic_title = true
|
|
||||||
opacity = 1
|
|
||||||
startup_mode = "Maximized"
|
|
||||||
|
|
||||||
[window.padding]
|
|
||||||
x = 10
|
|
||||||
y = 10
|
|
@ -1,53 +0,0 @@
|
|||||||
# unbind keys
|
|
||||||
unbind-key ENTER
|
|
||||||
unbind-key j
|
|
||||||
unbind-key k
|
|
||||||
unbind-key J
|
|
||||||
unbind-key K
|
|
||||||
|
|
||||||
# bind keys - vim style
|
|
||||||
bind-key j down
|
|
||||||
bind-key k up
|
|
||||||
bind-key l open
|
|
||||||
bind-key h quit
|
|
||||||
|
|
||||||
|
|
||||||
bind-key g home
|
|
||||||
bind-key G end
|
|
||||||
bind-key a toggle-article-read
|
|
||||||
auto-reload yes
|
|
||||||
reload-threads 50
|
|
||||||
confirm-mark-feed-read yes
|
|
||||||
prepopulate-query-feeds yes
|
|
||||||
|
|
||||||
browser "dmenu-link-handler $U"
|
|
||||||
|
|
||||||
urls-source "miniflux"
|
|
||||||
miniflux-url "https://feed.cronyakatsuki.xyz/"
|
|
||||||
miniflux-login "crony"
|
|
||||||
miniflux-passwordeval "news-pass"
|
|
||||||
miniflux-min-items 0
|
|
||||||
|
|
||||||
download-path "~/downs"
|
|
||||||
max-downloads 2
|
|
||||||
player "mpv"
|
|
||||||
|
|
||||||
# Catppuccin colors
|
|
||||||
color listnormal color15 default
|
|
||||||
color listnormal_unread color2 default
|
|
||||||
color listfocus_unread color2 color0
|
|
||||||
color listfocus default color0
|
|
||||||
color background default default
|
|
||||||
color article default default
|
|
||||||
color end-of-text-marker color8 default
|
|
||||||
color info color4 color8
|
|
||||||
color hint-separator default color8
|
|
||||||
color hint-description default color8
|
|
||||||
color title color14 color8
|
|
||||||
|
|
||||||
highlight article "^(Feed|Title|Author|Link|Date): .+" color4 default bold
|
|
||||||
highlight article "^(Feed|Title|Author|Link|Date):" color14 default bold
|
|
||||||
|
|
||||||
highlight article "\\((link|image|video)\\)" color8 default
|
|
||||||
highlight article "https?://[^ ]+" color4 default
|
|
||||||
highlight article "\[[0-9]+\]" color6 default bold
|
|
@ -1,4 +0,0 @@
|
|||||||
$env.config = {
|
|
||||||
show_banner: false,
|
|
||||||
edit_mode: vi,
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
anchor = top
|
|
||||||
width = 100%
|
|
||||||
height = 28
|
|
||||||
horizontal = true
|
|
||||||
font-size = 12
|
|
||||||
prompt-text = "Run: "
|
|
||||||
font = CaskaydiaCove Nerd Font
|
|
||||||
history = false
|
|
||||||
require-match = false
|
|
||||||
terminal = alacritty
|
|
||||||
outline-width = 0
|
|
||||||
border-width = 0
|
|
||||||
min-input-width = 120
|
|
||||||
result-spacing = 15
|
|
||||||
padding-top = 4
|
|
||||||
padding-bottom = 0
|
|
||||||
padding-left = 5
|
|
||||||
padding-right = 5
|
|
||||||
text-color = #c6d0f5
|
|
||||||
prompt-color = #e78284
|
|
||||||
selection-color = #e5c890
|
|
||||||
background-color = #303446
|
|
@ -1,7 +0,0 @@
|
|||||||
effects = cas:fxaa
|
|
||||||
|
|
||||||
casSharpness = 0.0
|
|
||||||
|
|
||||||
fxaaQualitySubpix = 0.80
|
|
||||||
fxaaQualityEdgeThreshold = 0.125
|
|
||||||
fxaaQualityEdgeThresholdMin = 0.0625
|
|
@ -1,12 +0,0 @@
|
|||||||
{ inputs, pkgs, ... }: {
|
|
||||||
home.packages = with pkgs;
|
|
||||||
[
|
|
||||||
# My custom dmenu build
|
|
||||||
(dmenu.overrideAttrs (oldAttrs: rec {
|
|
||||||
src = builtins.fetchGit {
|
|
||||||
url = "https://code.cronyakatsuki.xyz/crony/dmenu";
|
|
||||||
rev = "10dcddf14b38cfd965ab27f084139513baed70bf";
|
|
||||||
};
|
|
||||||
}))
|
|
||||||
];
|
|
||||||
}
|
|
@ -1,15 +0,0 @@
|
|||||||
{ inputs, config, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# gpg settings
|
|
||||||
programs.gpg = {
|
|
||||||
enable = true;
|
|
||||||
homedir = "${config.xdg.dataHome}/gnupg";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Make it use kde for flkdsjlkfdlsjflkdsjflsdjklfjdsklf
|
|
||||||
services.gpg-agent = {
|
|
||||||
enable = true;
|
|
||||||
pinentryPackage = pkgs.pinentry-qt;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,42 +0,0 @@
|
|||||||
{ inputs, pkgs, ... }: {
|
|
||||||
programs.helix = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
theme = "catppuccin_frappe";
|
|
||||||
editor = {
|
|
||||||
auto-pairs = false;
|
|
||||||
mouse = false;
|
|
||||||
line-number = "relative";
|
|
||||||
lsp.display-messages = true;
|
|
||||||
color-modes = true;
|
|
||||||
cursor-shape = {
|
|
||||||
normal = "block";
|
|
||||||
insert = "bar";
|
|
||||||
select = "underline";
|
|
||||||
};
|
|
||||||
statusline = {
|
|
||||||
left = [
|
|
||||||
"mode"
|
|
||||||
"file-modification-indicator"
|
|
||||||
"diagnostics"
|
|
||||||
"file-name"
|
|
||||||
"read-only-indicator"
|
|
||||||
];
|
|
||||||
center = [ "spinner" ];
|
|
||||||
right = [ "file-type" "separator" "position" "total-line-numbers" ];
|
|
||||||
mode = {
|
|
||||||
normal = "N";
|
|
||||||
insert = "I";
|
|
||||||
select = "V";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
languages.language = [{
|
|
||||||
name = "nix";
|
|
||||||
auto-format = true;
|
|
||||||
formatter.command = "${pkgs.nixfmt-classic}/bin/nixfmt";
|
|
||||||
}];
|
|
||||||
extraPackages = [ pkgs.nil ];
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,41 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
# Mangohud settings
|
|
||||||
programs.mangohud = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
# GPU SETTINGS
|
|
||||||
gpu_stats = true;
|
|
||||||
gpu_temp = true;
|
|
||||||
gpu_core_clock = true;
|
|
||||||
gpu_power = true;
|
|
||||||
gpu_text = "GPU";
|
|
||||||
gpu_load_change = true;
|
|
||||||
gpu_load_color = "39F900,FDFD09,B22222";
|
|
||||||
# CPU SETTINGS
|
|
||||||
cpu_stats = true;
|
|
||||||
cpu_temp = true;
|
|
||||||
cpu_text = "CPU";
|
|
||||||
cpu_mhz = true;
|
|
||||||
cpu_load_change = true;
|
|
||||||
cpu_load_value = "60,90";
|
|
||||||
cpu_load_color = "39F900,FDFD09,B22222";
|
|
||||||
# Vram/Ram/Swap
|
|
||||||
vram = true;
|
|
||||||
ram = true;
|
|
||||||
swap = true;
|
|
||||||
# Fps settings
|
|
||||||
fps = true;
|
|
||||||
fps_sampling_period = "1000";
|
|
||||||
fps_color_change = true;
|
|
||||||
fps_value = "30,60";
|
|
||||||
fps_color = "B22222,FDFD09,39F900";
|
|
||||||
frametime = true;
|
|
||||||
# Misc
|
|
||||||
gpu_name = true;
|
|
||||||
vulkan_driver = true;
|
|
||||||
show_fps_limit = true;
|
|
||||||
resolution = true;
|
|
||||||
round_corners = "5";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
{ inputs, pkgs, ... }: {
|
|
||||||
# Mpv settings
|
|
||||||
programs.mpv = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
ytdl-format =
|
|
||||||
"bestvideo[height<=?1080][fps<=?60][vcodec!=?vp9]+bestaudio/best";
|
|
||||||
ytdl-raw-options = "extractor-args=youtube:player-client=android";
|
|
||||||
fs = true;
|
|
||||||
force-window = "immediate";
|
|
||||||
screenshot-template = "%F - [%P]v%#01n";
|
|
||||||
sub-file-paths = "Subs;subs";
|
|
||||||
sub-auto = "all";
|
|
||||||
slang = "english,eng,en";
|
|
||||||
};
|
|
||||||
scripts = with pkgs.mpvScripts; [
|
|
||||||
mpris
|
|
||||||
sponsorblock
|
|
||||||
uosc
|
|
||||||
thumbfast
|
|
||||||
quality-menu
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{ inputs, pkgs, ... }: {
|
|
||||||
# Install newsboat
|
|
||||||
home.packages = [ pkgs.newsboat ];
|
|
||||||
|
|
||||||
# Setup my config file
|
|
||||||
home.file = { ".config/newsboat/config".source = ./confs/newsboat; };
|
|
||||||
}
|
|
@ -1,38 +0,0 @@
|
|||||||
{ inputs, pkgs, ... }: {
|
|
||||||
# NNN Settings
|
|
||||||
programs.nnn = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.nnn.override ({ withNerdIcons = true; });
|
|
||||||
bookmarks = {
|
|
||||||
d = "~/Documents";
|
|
||||||
D = "~/Downloads";
|
|
||||||
p = "~/Pictures";
|
|
||||||
v = "~/Videos";
|
|
||||||
};
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
pmount
|
|
||||||
ffmpegthumbnailer
|
|
||||||
mediainfo
|
|
||||||
ueberzugpp
|
|
||||||
poppler_utils
|
|
||||||
gnome-epub-thumbnailer
|
|
||||||
nsxiv
|
|
||||||
];
|
|
||||||
plugins.mappings = {
|
|
||||||
u = "nmount";
|
|
||||||
c = "chksum";
|
|
||||||
r = "gitroot";
|
|
||||||
v = "imgview";
|
|
||||||
m = "mtpmount";
|
|
||||||
d = "xdgdefault";
|
|
||||||
x = "togglex";
|
|
||||||
p = "preview-tui";
|
|
||||||
};
|
|
||||||
plugins.src = (pkgs.fetchFromGitHub {
|
|
||||||
owner = "jarun";
|
|
||||||
repo = "nnn";
|
|
||||||
rev = "v4.9";
|
|
||||||
sha256 = "sha256-g19uI36HyzTF2YUQKFP4DE2ZBsArGryVHhX79Y0XzhU=";
|
|
||||||
}) + "/plugins";
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,23 +0,0 @@
|
|||||||
{ pkgs, ... }: {
|
|
||||||
|
|
||||||
programs.nushell = {
|
|
||||||
enable = true;
|
|
||||||
configFile.source = ./confs/nushell/config.nu;
|
|
||||||
extraConfig = ''
|
|
||||||
use ${pkgs.nu_scripts}/share/nu_scripts/aliases/git/git-aliases.nu *
|
|
||||||
use ${pkgs.nu_scripts}/share/nu_scripts/custom-completions/git/git-completions.nu *
|
|
||||||
|
|
||||||
use ${pkgs.nu_scripts}/share/nu_scripts/themes/nu-themes/catppuccin-mocha.nu
|
|
||||||
|
|
||||||
$env.config.color_config = (catppuccin-mocha)
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.direnv.enableNushellIntegration = true;
|
|
||||||
|
|
||||||
programs.eza.enableNushellIntegration = true;
|
|
||||||
|
|
||||||
programs.starship.enableNushellIntegration = true;
|
|
||||||
|
|
||||||
programs.zoxide.enableNushellIntegration = true;
|
|
||||||
}
|
|
@ -1,306 +0,0 @@
|
|||||||
{ inputs, pkgs, ... }: {
|
|
||||||
imports = [ inputs.nixvim.homeManagerModules.nixvim ];
|
|
||||||
|
|
||||||
# Nixvim
|
|
||||||
programs.nixvim = {
|
|
||||||
enable = true;
|
|
||||||
viAlias = true;
|
|
||||||
vimAlias = true;
|
|
||||||
|
|
||||||
keymaps = [
|
|
||||||
{
|
|
||||||
action = "<cmd>Oil<cr>";
|
|
||||||
key = "<leader>e";
|
|
||||||
options = { silent = true; };
|
|
||||||
}
|
|
||||||
{
|
|
||||||
action =
|
|
||||||
"<cmd>lua require('conform').format({ bufnr = buf, lsp_fallback = true })<cr>";
|
|
||||||
key = "<leader>f";
|
|
||||||
options = { silent = true; };
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
opts = {
|
|
||||||
hlsearch = false;
|
|
||||||
incsearch = true;
|
|
||||||
number = true;
|
|
||||||
relativenumber = true;
|
|
||||||
tabstop = 4;
|
|
||||||
softtabstop = 4;
|
|
||||||
shiftwidth = 4;
|
|
||||||
expandtab = true;
|
|
||||||
smartindent = true;
|
|
||||||
mouse = "";
|
|
||||||
breakindent = true;
|
|
||||||
undofile = true;
|
|
||||||
swapfile = true;
|
|
||||||
ignorecase = true;
|
|
||||||
smartcase = true;
|
|
||||||
signcolumn = "yes";
|
|
||||||
completeopt = "menuone,noselect";
|
|
||||||
updatetime = 50;
|
|
||||||
timeoutlen = 300;
|
|
||||||
colorcolumn = "80";
|
|
||||||
showmode = false;
|
|
||||||
laststatus = 3;
|
|
||||||
splitbelow = true;
|
|
||||||
splitright = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
globals = {
|
|
||||||
mapleader = " ";
|
|
||||||
maplocalleader = ";";
|
|
||||||
};
|
|
||||||
|
|
||||||
extraConfigLuaPre = ''
|
|
||||||
local autocmd = vim.api.nvim_create_autocmd
|
|
||||||
local augroup = vim.api.nvim_create_augroup
|
|
||||||
|
|
||||||
-- General Settings
|
|
||||||
local general = augroup("General Settings", { clear = true })
|
|
||||||
|
|
||||||
autocmd("BufEnter", {
|
|
||||||
callback = function()
|
|
||||||
vim.opt.formatoptions:remove { "c", "r", "o" }
|
|
||||||
end,
|
|
||||||
group = general,
|
|
||||||
desc = "Disable New Line Comment",
|
|
||||||
})
|
|
||||||
'';
|
|
||||||
|
|
||||||
extraConfigLuaPost = ''
|
|
||||||
vim.notify = require("mini.notify").make_notify()
|
|
||||||
'';
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
stylua
|
|
||||||
isort
|
|
||||||
black
|
|
||||||
nixfmt-classic
|
|
||||||
jq
|
|
||||||
shfmt
|
|
||||||
ripgrep
|
|
||||||
prettierd
|
|
||||||
perl538Packages.PerlTidy
|
|
||||||
perl538Packages.PerlCritic
|
|
||||||
];
|
|
||||||
plugins = {
|
|
||||||
comment.enable = true;
|
|
||||||
|
|
||||||
ts-context-commentstring.enable = true;
|
|
||||||
|
|
||||||
todo-comments.enable = true;
|
|
||||||
|
|
||||||
lspkind = {
|
|
||||||
enable = true;
|
|
||||||
cmp.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
indent-blankline = {
|
|
||||||
enable = true;
|
|
||||||
settings.scope.enabled = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
cmp = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
mapping = {
|
|
||||||
"<C-l>" = "cmp.mapping.confirm({ select = true })";
|
|
||||||
"<C-j>" = ''
|
|
||||||
function(fallback)
|
|
||||||
if cmp.visible then
|
|
||||||
cmp.select_next_item()
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
"<C-k>" = ''
|
|
||||||
function(fallback)
|
|
||||||
if cmp.visible then
|
|
||||||
cmp.select_prev_item()
|
|
||||||
else
|
|
||||||
fallback()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
"<C-Space>" = "cmp.mapping.complete()";
|
|
||||||
"<C-e>" = "cmp.mapping.abort()";
|
|
||||||
"<C-u>" = "cmp.mapping.scroll_docs(-4)";
|
|
||||||
"<C-d>" = "cmp.mapping.scroll_docs(4)";
|
|
||||||
};
|
|
||||||
snippet.expand = ''
|
|
||||||
function(args)
|
|
||||||
require('snippy').expand_snippet(args.body)
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
sources =
|
|
||||||
[ { name = "nvim_lsp"; } { name = "path"; } { name = "snippy"; } ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
conform-nvim = {
|
|
||||||
enable = true;
|
|
||||||
formattersByFt = {
|
|
||||||
json = [ "jq" ];
|
|
||||||
lua = [ "stylua" ];
|
|
||||||
python = [ "isort" "black" ];
|
|
||||||
nix = [ "nixfmt" ];
|
|
||||||
sh = [ "shfmt" ];
|
|
||||||
bash = [ "shfmt" ];
|
|
||||||
zsh = [ "zsh" ];
|
|
||||||
html = [ "prettierd" ];
|
|
||||||
css = [ "prettierd" ];
|
|
||||||
perl = [ "perltidy" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
lint = {
|
|
||||||
enable = true;
|
|
||||||
lintersByFt = {
|
|
||||||
python = [ "mypy" ];
|
|
||||||
ruby = [ "ruby" ];
|
|
||||||
# sh = [ "shellcheck" ];
|
|
||||||
# bash = [ "shellcheck" ];
|
|
||||||
# zsh = [ "shellcheck" ];
|
|
||||||
perl = [ "perlcritic" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
harpoon = {
|
|
||||||
enable = true;
|
|
||||||
keymaps = {
|
|
||||||
addFile = "<leader>a";
|
|
||||||
toggleQuickMenu = "<C-e>";
|
|
||||||
navFile = {
|
|
||||||
"1" = "<C-j>";
|
|
||||||
"2" = "<C-k>";
|
|
||||||
"3" = "<C-l>";
|
|
||||||
"4" = "<C-;>";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
oil = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
show_hidden = true;
|
|
||||||
default_file_explorer = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
treesitter.enable = true;
|
|
||||||
|
|
||||||
gitsigns = {
|
|
||||||
enable = true;
|
|
||||||
settings.signs = {
|
|
||||||
add.text = "▎";
|
|
||||||
change.text = "▎";
|
|
||||||
changedelete.text = "▎";
|
|
||||||
delete.text = "▎";
|
|
||||||
topdelete.text = "▎";
|
|
||||||
untracked.text = "▎";
|
|
||||||
on_attach = ''
|
|
||||||
function(buffer)
|
|
||||||
local gs = package.loaded.gitsigns
|
|
||||||
|
|
||||||
local function map(mode, l, r, desc)
|
|
||||||
vim.keymap.set(mode, l, r, { buffer = buffer, desc = desc })
|
|
||||||
end
|
|
||||||
|
|
||||||
-- stylua: ignore start
|
|
||||||
map("n", "]g", gs.next_hunk, "Next git hunk")
|
|
||||||
map("n", "[g", gs.prev_hunk, "Previous git hunk")
|
|
||||||
end
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
mini = {
|
|
||||||
enable = true;
|
|
||||||
modules = {
|
|
||||||
statusline = { set_vim_settings = false; };
|
|
||||||
notify = { };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
telescope = {
|
|
||||||
enable = true;
|
|
||||||
extensions = {
|
|
||||||
fzf-native = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
fuzzy = true;
|
|
||||||
override_generic_sorter = true;
|
|
||||||
override_file_sorter = true;
|
|
||||||
case_mode = "smart_case";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
ui-select.enable = true;
|
|
||||||
};
|
|
||||||
keymaps = {
|
|
||||||
"<leader>pf" = "find_files";
|
|
||||||
"<C-p>" = "git_files";
|
|
||||||
"<leader>vh" = "help_tags";
|
|
||||||
"<leader>ps" = "grep_string";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
lsp = {
|
|
||||||
enable = true;
|
|
||||||
servers = {
|
|
||||||
lua-ls.enable = true;
|
|
||||||
nil_ls.enable = true;
|
|
||||||
marksman.enable = true;
|
|
||||||
gopls.enable = true;
|
|
||||||
pyright.enable = true;
|
|
||||||
html.enable = true;
|
|
||||||
emmet_ls.enable = true;
|
|
||||||
cssls.enable = true;
|
|
||||||
bashls.enable = true;
|
|
||||||
perlpls.enable = true;
|
|
||||||
};
|
|
||||||
keymaps = {
|
|
||||||
diagnostic = {
|
|
||||||
"<leader>vd" = "open_float";
|
|
||||||
"[d" = "goto_next";
|
|
||||||
"]d" = "goto_prev";
|
|
||||||
};
|
|
||||||
lspBuf = {
|
|
||||||
K = "hover";
|
|
||||||
gd = "definition";
|
|
||||||
gD = "declaration";
|
|
||||||
gi = "implementation";
|
|
||||||
"<leader>lca" = "code_action";
|
|
||||||
"<leader>lrn" = "rename";
|
|
||||||
"<C-h>" = "signature_help";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
preConfig = ''
|
|
||||||
local function sign_define(args)
|
|
||||||
vim.fn.sign_define(args.name, {
|
|
||||||
texthl = args.name,
|
|
||||||
text = args.text,
|
|
||||||
numhl = "",
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
sign_define({ name = "DiagnosticSignError", text = "E" })
|
|
||||||
sign_define({ name = "DiagnosticSignWarn", text = "W" })
|
|
||||||
sign_define({ name = "DiagnosticSignHint", text = "H" })
|
|
||||||
sign_define({ name = "DiagnosticSignInfo", text = "I" })
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
colorschemes.catppuccin = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
flavour = "frappe";
|
|
||||||
styles = {
|
|
||||||
functions = [ "bold" ];
|
|
||||||
keywords = [ "bold" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
extraPlugins = with pkgs.vimPlugins; [ vim-snippets ];
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
diff --git a/build.rs b/build.rs
|
|
||||||
index f6a0904..6252aec 100644
|
|
||||||
--- a/build.rs
|
|
||||||
+++ b/build.rs
|
|
||||||
@@ -3,7 +3,6 @@ use protobuf_codegen::Codegen;
|
|
||||||
fn main() {
|
|
||||||
Codegen::new()
|
|
||||||
.protoc()
|
|
||||||
- .protoc_path(&protoc_bin_vendored::protoc_bin_path().unwrap())
|
|
||||||
.includes(["proto"])
|
|
||||||
.input("proto/gog.protocols.pb.proto")
|
|
||||||
.input("proto/galaxy.protocols.webbroker_service.proto")
|
|
@ -1,9 +0,0 @@
|
|||||||
{ pkgs, ... }: {
|
|
||||||
home.packages = [
|
|
||||||
pkgs.catppuccin-gtk
|
|
||||||
(pkgs.catppuccin-papirus-folders.override {
|
|
||||||
flavor = "frappe";
|
|
||||||
accent = "pink";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
}
|
|
@ -1,75 +0,0 @@
|
|||||||
{ inputs, pkgs, ... }: {
|
|
||||||
##-- Restic Timers And Services --##
|
|
||||||
|
|
||||||
# Restic backup
|
|
||||||
systemd.user.services = {
|
|
||||||
restic_backup = {
|
|
||||||
Unit.Description = "Restic backup service";
|
|
||||||
Service = {
|
|
||||||
Type = "oneshot";
|
|
||||||
ExecStart = toString (pkgs.writeShellScript "restic-backup" ''
|
|
||||||
. /etc/restic/local
|
|
||||||
restic backup --files-from /home/crony/.config/restic/list --verbose && restic forget --keep-last 10 --keep-daily 7 --keep-weekly 5 --keep-monthly 12
|
|
||||||
. /etc/restic/online
|
|
||||||
restic backup --files-from /home/crony/.config/restic/list --verbose && restic forget --keep-last 10 --keep-daily 7 --keep-weekly 5 --keep-monthly 12
|
|
||||||
'');
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
systemd.user.timers = {
|
|
||||||
restic_backup = {
|
|
||||||
Unit.Description = "Restic backup timer";
|
|
||||||
Timer = {
|
|
||||||
OnBootSec = "5m";
|
|
||||||
OnUnitActiveSec = "6h";
|
|
||||||
};
|
|
||||||
Install.WantedBy = [ "timers.target" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Restic check
|
|
||||||
systemd.user.services = {
|
|
||||||
restic_check = {
|
|
||||||
Unit.Description = "Restic check service";
|
|
||||||
Service = {
|
|
||||||
Type = "oneshot";
|
|
||||||
ExecStart = toString (pkgs.writeShellScript "restic-check" ''
|
|
||||||
. /etc/restic/local
|
|
||||||
restic check --read-data-subset=10%
|
|
||||||
. /etc/restic/online
|
|
||||||
restic check --read-data-subset=10%
|
|
||||||
'');
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
systemd.user.timers = {
|
|
||||||
restic_check = {
|
|
||||||
Unit.Description = "Restic check timer";
|
|
||||||
Timer = { OnCalendar = "Thu *-*-* 18:00:00"; };
|
|
||||||
Install.WantedBy = [ "timers.target" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Restic prune
|
|
||||||
systemd.user.services = {
|
|
||||||
restic_prune = {
|
|
||||||
Unit.Description = "Restic prune service";
|
|
||||||
Service = {
|
|
||||||
Type = "oneshot";
|
|
||||||
ExecStart = toString (pkgs.writeShellScript "restic-prune" ''
|
|
||||||
. /etc/restic/local
|
|
||||||
restic prune
|
|
||||||
. /etc/restic/online
|
|
||||||
restic prune
|
|
||||||
'');
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
systemd.user.timers = {
|
|
||||||
restic_prune = {
|
|
||||||
Unit.Description = "Restic prune timer";
|
|
||||||
Timer = { OnCalendar = "Fri *-*-* 18:00:00"; };
|
|
||||||
Install.WantedBy = [ "timers.target" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,37 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
|
|
||||||
with pkgs;
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
pname = "scripts";
|
|
||||||
version = "1";
|
|
||||||
src = ./scripts;
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
|
|
||||||
# Move scripts to bin
|
|
||||||
mv ./* $out/bin
|
|
||||||
|
|
||||||
# Fix shebangs for the scripts
|
|
||||||
patchShebangs $out/bin
|
|
||||||
|
|
||||||
# Add dependencies to the runtime for my blog script
|
|
||||||
wrapProgram $out/bin/blog \
|
|
||||||
--prefix PATH : ${lib.makeBinPath [ hugo rsync git ]}
|
|
||||||
|
|
||||||
# Add dependencies to the runtime for my cue2chd script
|
|
||||||
wrapProgram $out/bin/cue2chd \
|
|
||||||
--prefix PATH : ${lib.makeBinPath [ mame-tools ]}
|
|
||||||
|
|
||||||
# Add dependencies to the runtime for my iso2chd script
|
|
||||||
wrapProgram $out/bin/iso2chd \
|
|
||||||
--prefix PATH : ${lib.makeBinPath [ mame-tools ]}
|
|
||||||
|
|
||||||
# Add dependencies to the runtime for my sync-backup script
|
|
||||||
wrapProgram $out/bin/sync-backup \
|
|
||||||
--prefix PATH : ${lib.makeBinPath [ rsync cryptsetup ]}
|
|
||||||
|
|
||||||
wrapProgram $out/bin/megadl \
|
|
||||||
--prefix PATH : ${lib.makeBinPath [ openssl ]}
|
|
||||||
'';
|
|
||||||
}
|
|
@ -1,58 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
if [ $# -eq 0 ]; then
|
|
||||||
cd "$HOME"/Documents/repos/cronyakatsuki.xyz || exit 1
|
|
||||||
nvim
|
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
cd "$HOME"/Documents/repos/cronyakatsuki.xyz || exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
open_file() {
|
|
||||||
cd "$HOME"/Documents/repos/cronyakatsuki.xyz || exit 1
|
|
||||||
if [ -f "content/blog/${1}.md" ]; then
|
|
||||||
nvim "content/blog/${1}.md"
|
|
||||||
else
|
|
||||||
hugo new "content/blog/${1}.md"
|
|
||||||
nvim "content/blog/${1}.md"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
publish() {
|
|
||||||
cd "$HOME"/Documents/repos/cronyakatsuki.xyz || exit 1
|
|
||||||
hugo
|
|
||||||
rsync -rP --delete public/ server:/var/www/site
|
|
||||||
git add .
|
|
||||||
git commit -m "Site update"
|
|
||||||
git push
|
|
||||||
}
|
|
||||||
|
|
||||||
remove_file() {
|
|
||||||
cd "$HOME"/Documents/repos/cronyakatsuki.xyz || exit 1
|
|
||||||
if [ -f "content/blog/${1}.md" ]; then
|
|
||||||
rm "content/blog/${1}.md"
|
|
||||||
else
|
|
||||||
echo "File didn't exist"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ "$1" = "pub" ]; then
|
|
||||||
publish
|
|
||||||
exit 0
|
|
||||||
elif [ $# -eq 1 ]; then
|
|
||||||
open_file "$1"
|
|
||||||
exit 0
|
|
||||||
elif [ $# -ne 2 ]; then
|
|
||||||
echo "You need to provide action and file name."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
rm)
|
|
||||||
remove_file "$2"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
@ -1,8 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
for File in *.cue
|
|
||||||
do
|
|
||||||
[ -f "$File" ] || continue
|
|
||||||
chdman createcd -i "$File" -o "${File%.cue}.chd"
|
|
||||||
rm -v "$File" "${File%.cue}"*.bin
|
|
||||||
done
|
|
@ -1,44 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
# Based on day script from mischavandenburg
|
|
||||||
# url: https://github.com/mischavandenburg/dotfiles/blob/main/scripts/day
|
|
||||||
|
|
||||||
today=$(date +"%Y-%m-%d")
|
|
||||||
tomorrow=$(date -d "tomorrow" '+%Y-%m-%d')
|
|
||||||
yesterday=$(date -d "yesterday" '+%Y-%m-%d')
|
|
||||||
file="$SECOND_BRAIN"'/periodic/daily/'"$today.md"
|
|
||||||
|
|
||||||
cd "$SECOND_BRAIN" || exit 1
|
|
||||||
|
|
||||||
new_note() {
|
|
||||||
touch "$file"
|
|
||||||
|
|
||||||
# Give me a nice format
|
|
||||||
cat <<EOF >"$file"
|
|
||||||
# $today
|
|
||||||
|
|
||||||
[[$yesterday]] - [[$tomorrow]]
|
|
||||||
|
|
||||||
## Intention
|
|
||||||
|
|
||||||
What do I want to achieve today and tomorrow?
|
|
||||||
|
|
||||||
## Tracking
|
|
||||||
|
|
||||||
- [ ] Cycle
|
|
||||||
- [ ] Strength training
|
|
||||||
- [ ] Watch a movie or tv show episode
|
|
||||||
- [ ] Play/finish a game
|
|
||||||
- [ ] Post a blog post
|
|
||||||
- [ ] Check servers
|
|
||||||
- [ ] Check backups
|
|
||||||
|
|
||||||
## Log
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ ! -f "$file" ]; then
|
|
||||||
new_note
|
|
||||||
fi
|
|
||||||
|
|
||||||
nvim '+ normal Gzzo' "$file"
|
|
@ -1,8 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
for File in *.iso
|
|
||||||
do
|
|
||||||
[ -f "$File" ] || continue
|
|
||||||
chdman createdvd -i "$File" -o "${File%.iso}.chd"
|
|
||||||
rm -v "$File"
|
|
||||||
done
|
|
@ -1,70 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Shamelesly stolen from DemonKingSwarn from his discord message
|
|
||||||
# Original link is at http://0x0.st/Xokg.sh
|
|
||||||
|
|
||||||
URL=""
|
|
||||||
|
|
||||||
if [[ $1 =~ ^https?:\/\/mega(\.co)?\.nz ]]; then
|
|
||||||
URL="$1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ ! $URL ]]; then
|
|
||||||
echo "Usage: ${0##*/} url" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
CURL="curl -Y 1 -y 10"
|
|
||||||
|
|
||||||
missing=false
|
|
||||||
for cmd in openssl; do
|
|
||||||
if [[ ! $(command -v "$cmd" 2>&1) ]]; then
|
|
||||||
missing=true
|
|
||||||
echo "${0##*/}: $cmd: command not found" >&2
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if $missing; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $URL =~ .*/file/[^#]*#[^#]* ]]; then
|
|
||||||
id="${URL#*file/}"; id="${id%%#*}"
|
|
||||||
key="${URL##*file/}"; key="${key##*#}"
|
|
||||||
else
|
|
||||||
id="${URL#*!}"; id="${id%%!*}"
|
|
||||||
key="${URL##*!}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
raw_hex=$(echo "${key}=" | tr '\-_' '+/' | tr -d ',' | base64 -d -i 2>/dev/null | od -v -An -t x1 | tr -d '\n ')
|
|
||||||
hex=$(printf "%016x" \
|
|
||||||
$(( 0x${raw_hex:0:16} ^ 0x${raw_hex:32:16} )) \
|
|
||||||
$(( 0x${raw_hex:16:16} ^ 0x${raw_hex:48:16} ))
|
|
||||||
)
|
|
||||||
|
|
||||||
json=$($CURL -s -H 'Content-Type: application/json' -d '[{"a":"g", "g":"1", "p":"'"$id"'"}]' 'https://g.api.mega.co.nz/cs?id=&ak=') || exit 1; json="${json#"[{"}"; json="${json%"}]"}"
|
|
||||||
file_url="${json##*'"g":'}"; file_url="${file_url%%,*}"; file_url="${file_url//'"'/}"
|
|
||||||
|
|
||||||
json=$($CURL -s -H 'Content-Type: application/json' -d '[{"a":"g", "p":"'"$id"'"}]' 'https://g.api.mega.co.nz/cs?id=&ak=') || exit 1
|
|
||||||
at="${json##*'"at":'}"; at="${at%%,*}"; at="${at//'"'/}"
|
|
||||||
|
|
||||||
json=$(echo "${at}==" | tr '\-_' '+/' | tr -d ',' | openssl enc -a -A -d -aes-128-cbc -K "$hex" -iv "00000000000000000000000000000000" -nopad | tr -d '\0'); json="${json#"MEGA{"}"; json="${json%"}"}"
|
|
||||||
file_name="${json##*'"n":'}"
|
|
||||||
if [[ $file_name == *,* ]]; then
|
|
||||||
file_name="${file_name%%,*}"
|
|
||||||
fi
|
|
||||||
file_name="${file_name//'"'/}"
|
|
||||||
|
|
||||||
aria2c -x 15 -o "$file_name" "$file_url"
|
|
||||||
cat "$file_name" | openssl enc -d -aes-128-ctr -K "$hex" -iv "${raw_hex:32:16}0000000000000000" > "temp.new"
|
|
||||||
mv -f temp.new "$file_name"
|
|
||||||
|
|
||||||
echo "$file_url"
|
|
||||||
echo "$file_name"
|
|
||||||
echo "$hex"
|
|
||||||
echo "${raw_hex:32:16}0000000000000000"
|
|
||||||
sleep 5
|
|
||||||
echo "Downloading... (press Ctrl + C to Cancel)"
|
|
||||||
|
|
||||||
aria2c -x 16 -s 16 -o "$file_name" "$file_url"
|
|
||||||
cat "$file_name" | openssl enc -d -aes-128-ctr -K "$hex" -iv "${raw_hex:32:16}0000000000000000" > "temp.new"
|
|
||||||
mv -f temp.new "$file_name"
|
|
@ -1,39 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
if [ $# -eq 0 ]; then
|
|
||||||
cd "$SECOND_BRAIN"/notes || exit 1
|
|
||||||
nvim
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
open_file() {
|
|
||||||
cd "$SECOND_BRAIN"/notes || exit 1
|
|
||||||
nvim "${1}.md"
|
|
||||||
}
|
|
||||||
|
|
||||||
remove_file() {
|
|
||||||
cd "$SECOND_BRAIN"/notes || exit 1
|
|
||||||
if [ -f "${1}.md" ]; then
|
|
||||||
rm "${1}.md"
|
|
||||||
else
|
|
||||||
echo "File didn't exist"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ $# -eq 1 ]; then
|
|
||||||
open_file "$1"
|
|
||||||
exit 0
|
|
||||||
elif [ $# -ne 2 ]; then
|
|
||||||
echo "You need to provide action and file name."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
rm)
|
|
||||||
remove_file "$2"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
@ -1,13 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
if [ $# -ne 1 ]; then
|
|
||||||
echo "Provide a script name"
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
name="$1"
|
|
||||||
fi
|
|
||||||
|
|
||||||
touch "$name"
|
|
||||||
chmod +x "$name"
|
|
||||||
echo "#!/usr/bin/env sh" > "$name"
|
|
||||||
nvim "+ normal Gzzo" "$name"
|
|
@ -1,39 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
if [ $# -eq 0 ]; then
|
|
||||||
cd "$SECOND_BRAIN"/blog || exit 1
|
|
||||||
nvim
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
open_file() {
|
|
||||||
cd "$SECOND_BRAIN"/blog || exit 1
|
|
||||||
nvim "${1}.md"
|
|
||||||
}
|
|
||||||
|
|
||||||
remove_file() {
|
|
||||||
cd "$SECOND_BRAIN"/blog || exit 1
|
|
||||||
if [ -f "${1}.md" ]; then
|
|
||||||
rm "${1}.md"
|
|
||||||
else
|
|
||||||
echo "File didn't exist"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ $# -eq 1 ]; then
|
|
||||||
open_file "$1"
|
|
||||||
exit 0
|
|
||||||
elif [ $# -ne 2 ]; then
|
|
||||||
echo "You need to provide action and file name."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
rm)
|
|
||||||
remove_file "$2"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
@ -1,13 +0,0 @@
|
|||||||
#!/usr/bin/env sh
|
|
||||||
|
|
||||||
disk="$1"
|
|
||||||
|
|
||||||
sudo cryptsetup luksOpen "$disk" crypt
|
|
||||||
|
|
||||||
sudo mount /dev/mapper/crypt "$HOME/Documents/drive"
|
|
||||||
|
|
||||||
rsync -ahAXv --delete /home/crony/.local/backup/ /home/crony/Documents/drive/backup
|
|
||||||
|
|
||||||
sudo umount "$HOME/Documents/drive"
|
|
||||||
|
|
||||||
sudo cryptsetup luksClose /dev/mapper/crypt
|
|
@ -1,110 +0,0 @@
|
|||||||
{ config, pkgs, ... }: {
|
|
||||||
# But we all know I love zsh
|
|
||||||
programs.zsh = {
|
|
||||||
enable = true;
|
|
||||||
autosuggestion.enable = true;
|
|
||||||
enableCompletion = true;
|
|
||||||
history.path = "${config.xdg.dataHome}/zsh/history";
|
|
||||||
dotDir = ".config/zsh";
|
|
||||||
shellAliases = {
|
|
||||||
lg = "lazygit";
|
|
||||||
j =
|
|
||||||
"cd $(zoxide query --list | fzf --prompt 'Directory: ' -i --reverse --layout=reverse --border=rounded --info=inline --preview 'eza -A --tree -L 1 {}')";
|
|
||||||
gj = ''
|
|
||||||
cd $(find ${config.home.homeDirectory} -name .git -type d -exec dirname {} \; -prune | fzf --prompt "Directory: " -i --reverse --layout=reverse --border=rounded --info=inline --preview "eza -A --tree -L 1 {}")'';
|
|
||||||
erm = ''for file in *.zip; do unzip "$file"; rm "$file"; done'';
|
|
||||||
};
|
|
||||||
envExtra = ''
|
|
||||||
# NNN settings
|
|
||||||
export NNN_FIFO="/tmp/nnn.fifo"
|
|
||||||
export NNN_SSHFS="sshfs -o follow_symlinks"
|
|
||||||
export NNN_TERMINAL="alacritty --class preview,preview"
|
|
||||||
|
|
||||||
# Catppuccin colors nnn
|
|
||||||
BLK="03" CHR="03" DIR="04" EXE="02" REG="07" HARDLINK="05" SYMLINK="05" MISSING="08" ORPHAN="01" FIFO="06" SOCK="03" UNKNOWN="01"
|
|
||||||
export NNN_COLORS="#04020301;4231"
|
|
||||||
export NNN_FCOLORS="$BLK$CHR$DIR$EXE$REG$HARDLINK$SYMLINK$MISSING$ORPHAN$FIFO$SOCK$UNKNOWN"
|
|
||||||
'';
|
|
||||||
initExtra = ''
|
|
||||||
# VI Mode escape timeout fix
|
|
||||||
export KEYTIMEOUT=1
|
|
||||||
|
|
||||||
# Substring search settings
|
|
||||||
export HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_FOUND="bg=blue,fg=black,bold"
|
|
||||||
export HISTORY_SUBSTRING_SEARCH_HIGHLIGHT_NOT_FOUND='bg=red,fg=black,bold'
|
|
||||||
bindkey -M vicmd 'k' history-substring-search-up
|
|
||||||
bindkey -M vicmd 'j' history-substring-search-down
|
|
||||||
'';
|
|
||||||
initExtraFirst = ''
|
|
||||||
nitch
|
|
||||||
'';
|
|
||||||
zplug = {
|
|
||||||
enable = true;
|
|
||||||
plugins = [
|
|
||||||
{ name = "zap-zsh/supercharge"; }
|
|
||||||
{ name = "zap-zsh/completions"; }
|
|
||||||
{ name = "zap-zsh/vim"; }
|
|
||||||
{ name = "chivalryq/git-alias"; }
|
|
||||||
{ name = "zdharma-continuum/fast-syntax-highlighting"; }
|
|
||||||
{ name = "MichaelAquilina/zsh-you-should-use"; }
|
|
||||||
{ name = "zsh-users/zsh-history-substring-search"; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Eza settings
|
|
||||||
programs.eza = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
git = true;
|
|
||||||
icons = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Zoxide settings
|
|
||||||
programs.zoxide = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Starhip settings
|
|
||||||
programs.starship = let flavour = "frappe";
|
|
||||||
in {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
settings = {
|
|
||||||
palette = "catppuccin_${flavour}";
|
|
||||||
add_newline = false;
|
|
||||||
} // builtins.fromTOML (builtins.readFile (pkgs.fetchFromGitHub {
|
|
||||||
owner = "starship";
|
|
||||||
repo = "starship";
|
|
||||||
rev = "698572aa575508a4bdd0d3092c97f5a056dc50eb";
|
|
||||||
hash = "sha256-jrtlK4vN8u2UhKeo5+9IyCVYJxkySh+JKhSCUsnQWAg=";
|
|
||||||
} + /docs/public/presets/toml/pure-preset.toml)) // builtins.fromTOML
|
|
||||||
(builtins.readFile (pkgs.fetchFromGitHub {
|
|
||||||
owner = "catppuccin";
|
|
||||||
repo = "starship";
|
|
||||||
rev = "5629d2356f62a9f2f8efad3ff37476c19969bd4f";
|
|
||||||
hash = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0=";
|
|
||||||
} + /palettes/${flavour}.toml));
|
|
||||||
};
|
|
||||||
|
|
||||||
# Fzf settings
|
|
||||||
programs.fzf = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable direnv
|
|
||||||
programs.direnv = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
nix-direnv.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.thefuck = {
|
|
||||||
enable = true;
|
|
||||||
enableZshIntegration = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [ nitch ];
|
|
||||||
}
|
|
@ -1,48 +0,0 @@
|
|||||||
{ pkgs, ... }: {
|
|
||||||
|
|
||||||
qt = {
|
|
||||||
# Enable qt
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
# Use gtk platform theme
|
|
||||||
platformTheme = "gtk";
|
|
||||||
|
|
||||||
# Use gtk2 style
|
|
||||||
style.name = "gtk2";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.pointerCursor = {
|
|
||||||
gtk.enable = true;
|
|
||||||
|
|
||||||
# Cursor theme
|
|
||||||
package = pkgs.catppuccin-cursors.frappeRosewater;
|
|
||||||
name = "Catppuccin-Frappe-Rosewater-Cursors";
|
|
||||||
size = 16;
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk = {
|
|
||||||
# Enable gtk
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
# look theme
|
|
||||||
theme = {
|
|
||||||
package = pkgs.catppuccin-gtk;
|
|
||||||
name = "Catppuccin-Frappe-Standard-Blue-Dark";
|
|
||||||
};
|
|
||||||
|
|
||||||
# icon theme
|
|
||||||
iconTheme = {
|
|
||||||
package = (pkgs.catppuccin-papirus-folders.override {
|
|
||||||
flavor = "frappe";
|
|
||||||
accent = "pink";
|
|
||||||
});
|
|
||||||
name = "Papirus-Dark";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Font name
|
|
||||||
font = {
|
|
||||||
name = "Noto Sans";
|
|
||||||
size = 10;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,69 +0,0 @@
|
|||||||
{ inputs, pkgs, ... }: {
|
|
||||||
programs.tmux = {
|
|
||||||
enable = true;
|
|
||||||
disableConfirmationPrompt = true;
|
|
||||||
escapeTime = 0;
|
|
||||||
keyMode = "vi";
|
|
||||||
mouse = true;
|
|
||||||
newSession = true;
|
|
||||||
plugins = with pkgs; [
|
|
||||||
tmuxPlugins.sensible
|
|
||||||
tmuxPlugins.yank
|
|
||||||
tmuxPlugins.fzf-tmux-url
|
|
||||||
{
|
|
||||||
plugin = tmuxPlugins.catppuccin;
|
|
||||||
extraConfig = ''
|
|
||||||
set -g @catppuccin_flavour 'frappe'
|
|
||||||
set -g @catppuccin_window_right_separator "█ "
|
|
||||||
set -g @catppuccin_window_number_position "right"
|
|
||||||
set -g @catppuccin_window_middle_separator " | "
|
|
||||||
|
|
||||||
set -g @catppuccin_window_default_fill "none"
|
|
||||||
|
|
||||||
set -g @catppuccin_window_current_fill "all"
|
|
||||||
|
|
||||||
set -g @catppuccin_status_modules_right "application session date_time"
|
|
||||||
set -g @catppuccin_status_left_separator "█"
|
|
||||||
set -g @catppuccin_status_right_separator "█"
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
];
|
|
||||||
prefix = "C-Space";
|
|
||||||
terminal = "alacritty";
|
|
||||||
extraConfig = ''
|
|
||||||
# Fix colors
|
|
||||||
set-option -sa terminal-overrides ",alacritty:Tc"
|
|
||||||
|
|
||||||
# start window and panes indexing at 1
|
|
||||||
set -g base-index 1
|
|
||||||
set -g pane-base-index 1
|
|
||||||
set-window-option -g pane-base-index 1
|
|
||||||
set-option -g renumber-windows on
|
|
||||||
|
|
||||||
# Faster statusbar updates
|
|
||||||
set-option -g status-interval 1
|
|
||||||
|
|
||||||
# Easier movement
|
|
||||||
bind -n M-K previous-window
|
|
||||||
bind -n M-J next-window
|
|
||||||
|
|
||||||
# Better split bindings
|
|
||||||
bind "'" split-window -v -c "#{pane_current_path}"
|
|
||||||
bind '\' split-window -h -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
# Vim keybindings for pane movement
|
|
||||||
setw -g mode-keys vi
|
|
||||||
bind-key h select-pane -L
|
|
||||||
bind-key j select-pane -D
|
|
||||||
bind-key k select-pane -U
|
|
||||||
bind-key l select-pane -R
|
|
||||||
|
|
||||||
# Status bar border
|
|
||||||
setw -g pane-border-status top
|
|
||||||
setw -g pane-border-format '─'
|
|
||||||
|
|
||||||
# Bar to top
|
|
||||||
set-option -g status-position top
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
{ inputs, pkgs, ... }: {
|
|
||||||
# Install tofi
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
tofi
|
|
||||||
(writeShellScriptBin "tofi-pass" ''
|
|
||||||
tofi --hide-input true --prompt-text 'Password: ' --require-match false --hidden-character '.' < /dev/null
|
|
||||||
'')
|
|
||||||
];
|
|
||||||
|
|
||||||
# Setup my config file
|
|
||||||
home.file = { ".config/tofi/config".source = ./confs/tofi; };
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{ inputs, pkgs, ... }: {
|
|
||||||
home.packages = with pkgs; [ vkbasalt ];
|
|
||||||
|
|
||||||
home.file = {
|
|
||||||
".config/vkBasalt/vkBasalt.conf".source = ./confs/vkBasalt.conf;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,37 +1,21 @@
|
|||||||
{ pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
# Imports
|
# Imports
|
||||||
imports = [
|
imports =
|
||||||
./hardware-configuration.nix
|
[
|
||||||
./modules/wifi-dongle.nix
|
./hardware-configuration.nix
|
||||||
./modules/disable-hibernation.nix
|
];
|
||||||
./modules/dns-over-https.nix
|
|
||||||
./modules/nvidia.nix
|
|
||||||
./modules/network-manager.nix
|
|
||||||
./modules/esync.nix
|
|
||||||
./modules/ryzenadj.nix
|
|
||||||
./modules/appimages.nix
|
|
||||||
./modules/sddm.nix
|
|
||||||
./modules/plasma.nix
|
|
||||||
./modules/pipewire.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
# Current lts kernel
|
# Modules
|
||||||
boot.kernelPackages = pkgs.linuxPackages;
|
boot.blacklistedKernelModules = [ "rtl8xxxu" "iwlwifi"];
|
||||||
|
boot.extraModulePackages = with config.boot.kernelPackages; [
|
||||||
# load amdgpu and nouveau at boot
|
rtl8192eu
|
||||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
];
|
||||||
|
|
||||||
# Enable gsp
|
|
||||||
# boot.kernelParams = [
|
|
||||||
# "nouveau.config=NvGspRM=1"
|
|
||||||
# "nouveau.debug=info,VBIOS=info,gsp=debug"
|
|
||||||
# ];
|
|
||||||
|
|
||||||
# Set the hostname
|
# Set the hostname
|
||||||
networking.hostName = "nixos";
|
networking.hostName = "nixos";
|
||||||
@ -42,9 +26,64 @@
|
|||||||
# Allow unfree packages
|
# Allow unfree packages
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
|
# Disable hibernation, sleep and other friends
|
||||||
|
systemd.targets = {
|
||||||
|
sleep = {
|
||||||
|
enable = false;
|
||||||
|
unitConfig.DefaultDependencies = "no";
|
||||||
|
};
|
||||||
|
suspend = {
|
||||||
|
enable = false;
|
||||||
|
unitConfig.DefaultDependencies = "no";
|
||||||
|
};
|
||||||
|
hibernate = {
|
||||||
|
enable = false;
|
||||||
|
unitConfig.DefaultDependencies = "no";
|
||||||
|
};
|
||||||
|
"hybrid-sleep" = {
|
||||||
|
enable = false;
|
||||||
|
unitConfig.DefaultDependencies = "no";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
# Set your time zone.
|
# Set your time zone.
|
||||||
time.timeZone = "Europe/Zagreb";
|
time.timeZone = "Europe/Zagreb";
|
||||||
|
|
||||||
|
# Set iwd as wifi backend
|
||||||
|
networking.wireless.iwd.enable = true;
|
||||||
|
networking.networkmanager.wifi.backend = "iwd";
|
||||||
|
networking.networkmanager.wifi.powersave = false;
|
||||||
|
|
||||||
|
### --- Enabling DNS Over HTTPS --- ###
|
||||||
|
|
||||||
|
# make network manager not set a default dns
|
||||||
|
networking.networkmanager.dns = "none";
|
||||||
|
|
||||||
|
# set dns to local nameservers
|
||||||
|
networking.nameservers = [ "127.0.0.1" "::1" ];
|
||||||
|
|
||||||
|
# Dnscrypt for dns over https
|
||||||
|
services.dnscrypt-proxy2 = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
ipv6_servers = true;
|
||||||
|
require_dnssec = true;
|
||||||
|
sources.public-resolvers = {
|
||||||
|
urls = [
|
||||||
|
"https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md"
|
||||||
|
"https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md"
|
||||||
|
];
|
||||||
|
cache_file = "/var/lib/dnscrypt-proxy2/public-resolvers.md";
|
||||||
|
minisign_key = "RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3";
|
||||||
|
};
|
||||||
|
# use mullvad dns server
|
||||||
|
server_names = [ "mullvad-base-doh" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Select internationalisation properties.
|
# Select internationalisation properties.
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
@ -60,6 +99,105 @@
|
|||||||
LC_TIME = "hr_HR.UTF-8";
|
LC_TIME = "hr_HR.UTF-8";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Enable the X11 windowing system.
|
||||||
|
services.xserver.enable = true;
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
services.xserver.xkb = {
|
||||||
|
layout = "us";
|
||||||
|
variant = "";
|
||||||
|
options = "caps:escape";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable touchpad support
|
||||||
|
services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
|
# Enable the KDE Plasma Desktop Environment.
|
||||||
|
services.xserver.displayManager.sddm = {
|
||||||
|
enable = true;
|
||||||
|
theme = "catppuccin-sddm-corners";
|
||||||
|
# Fix keyboard showing up unnecesarilly
|
||||||
|
settings = {
|
||||||
|
General = {
|
||||||
|
InputMethod="";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
services.xserver.desktopManager.plasma5.enable = true;
|
||||||
|
environment.plasma5.excludePackages = with pkgs.libsForQt5; [
|
||||||
|
plasma-browser-integration
|
||||||
|
konsole
|
||||||
|
oxygen
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
services.printing.enable = false;
|
||||||
|
|
||||||
|
# Enable gvfs
|
||||||
|
services.gvfs.enable = true;
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable OpenGL
|
||||||
|
hardware.opengl = {
|
||||||
|
enable = true;
|
||||||
|
driSupport = true;
|
||||||
|
driSupport32Bit = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Nvidia settings
|
||||||
|
hardware.nvidia = {
|
||||||
|
|
||||||
|
# Modesetting is required.
|
||||||
|
modesetting.enable = true;
|
||||||
|
|
||||||
|
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
||||||
|
powerManagement.enable = true;
|
||||||
|
|
||||||
|
# Nvidia fine grainder power management, super experimental.
|
||||||
|
powerManagement.finegrained = false;
|
||||||
|
|
||||||
|
open = false;
|
||||||
|
|
||||||
|
# Enable the Nvidia settings menu,
|
||||||
|
nvidiaSettings = true;
|
||||||
|
|
||||||
|
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||||
|
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Nvidia prime settings
|
||||||
|
hardware.nvidia.prime = {
|
||||||
|
reverseSync.enable = true;
|
||||||
|
intelBusId = "PCI:5:0:0";
|
||||||
|
nvidiaBusId = "PCI:1:0:0";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Enable bluetooth
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
|
# Open Tablet Driver setup
|
||||||
|
hardware.opentabletdriver.enable = true;
|
||||||
|
|
||||||
|
# Load nvidia driver for Xorg and Wayland
|
||||||
|
services.xserver.videoDrivers = [ "nvidia" ];
|
||||||
|
|
||||||
|
# Steam settings
|
||||||
|
programs.steam = {
|
||||||
|
enable = true;
|
||||||
|
remotePlay.openFirewall = true;
|
||||||
|
dedicatedServer.openFirewall = true;
|
||||||
|
};
|
||||||
|
|
||||||
# List packages installed in system profile.
|
# List packages installed in system profile.
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
neovim
|
neovim
|
||||||
@ -76,57 +214,34 @@
|
|||||||
gamemode
|
gamemode
|
||||||
ipafont
|
ipafont
|
||||||
ryzenadj
|
ryzenadj
|
||||||
wineWowPackages.staging
|
(catppuccin-kde.override { winDecStyles = ["classic" "modern"] ;})
|
||||||
cryptsetup
|
catppuccin-gtk
|
||||||
xfsprogs
|
|
||||||
(catppuccin-kde.override { winDecStyles = [ "classic" "modern" ]; })
|
|
||||||
catppuccin-cursors.frappeRosewater
|
catppuccin-cursors.frappeRosewater
|
||||||
(callPackage ./modules/catppuccin-sddm.nix { inherit pkgs; })
|
catppuccin-sddm-corners
|
||||||
(lutris.override {
|
(catppuccin-papirus-folders.override { flavor = "frappe"; accent = "pink"; })
|
||||||
extraPkgs = pkgs:
|
|
||||||
[
|
|
||||||
libnotify # For when something fails
|
|
||||||
];
|
|
||||||
extraLibraries = pkgs: [
|
|
||||||
# Dead cells dependency's
|
|
||||||
xorg.libXScrnSaver
|
|
||||||
hashlink
|
|
||||||
];
|
|
||||||
})
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Steam settings
|
# Wireguard settings
|
||||||
programs.steam = {
|
networking.firewall = {
|
||||||
enable = true;
|
# if packets are still dropped, they will show up in dmesg
|
||||||
remotePlay.openFirewall = true;
|
logReversePathDrops = true;
|
||||||
dedicatedServer.openFirewall = true;
|
# wireguard trips rpfilter up
|
||||||
gamescopeSession.enable = true;
|
extraCommands = ''
|
||||||
|
ip46tables -t mangle -I nixos-fw-rpfilter -p udp -m udp --sport 51820 -j RETURN
|
||||||
|
ip46tables -t mangle -I nixos-fw-rpfilter -p udp -m udp --dport 51820 -j RETURN
|
||||||
|
'';
|
||||||
|
extraStopCommands = ''
|
||||||
|
ip46tables -t mangle -D nixos-fw-rpfilter -p udp -m udp --sport 51820 -j RETURN || true
|
||||||
|
ip46tables -t mangle -D nixos-fw-rpfilter -p udp -m udp --dport 51820 -j RETURN || true
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# Setting up zsh
|
|
||||||
programs.zsh.enable = true;
|
|
||||||
|
|
||||||
# For the completion plugin
|
|
||||||
environment.pathsToLink = [ "/share/zsh" ];
|
|
||||||
|
|
||||||
# Enable bluetooth
|
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
services.printing.enable = true;
|
|
||||||
|
|
||||||
# Enable gvfs
|
|
||||||
services.gvfs.enable = true;
|
|
||||||
|
|
||||||
# Enable fstrim
|
# Enable fstrim
|
||||||
services.fstrim.enable = true;
|
services.fstrim.enable = true;
|
||||||
|
|
||||||
# Enable ratbagd for mice configuration
|
# Enable ratbagd for mice configuration
|
||||||
services.ratbagd.enable = true;
|
services.ratbagd.enable = true;
|
||||||
|
|
||||||
# Enable firmware updater
|
|
||||||
services.fwupd.enable = true;
|
|
||||||
|
|
||||||
# Setup syncthing
|
# Setup syncthing
|
||||||
services = {
|
services = {
|
||||||
syncthing = {
|
syncthing = {
|
||||||
@ -137,63 +252,36 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable the X11 windowing system.
|
# Setting up zsh
|
||||||
services.xserver.enable = true;
|
programs.zsh.enable = true;
|
||||||
|
|
||||||
# Enable touchpad support
|
# For the completion plugin
|
||||||
services.libinput.enable = true;
|
environment.pathsToLink = [ "/share/zsh" ];
|
||||||
|
|
||||||
# Configure keymap in X11
|
|
||||||
services.xserver.xkb = {
|
|
||||||
layout = "us";
|
|
||||||
variant = "";
|
|
||||||
options = "caps:escape";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Load nvidia driver for Xorg and Wayland
|
|
||||||
services.xserver.videoDrivers = [ "amdgpu" ];
|
|
||||||
|
|
||||||
# Enable OpenGL
|
|
||||||
hardware.opengl = {
|
|
||||||
enable = true;
|
|
||||||
driSupport = true;
|
|
||||||
driSupport32Bit = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Open Tablet Driver setup
|
|
||||||
hardware.opentabletdriver.enable = true;
|
|
||||||
|
|
||||||
# firewall settings
|
|
||||||
networking.firewall = {
|
|
||||||
enable = true;
|
|
||||||
# allow specific tcp ports
|
|
||||||
allowedTCPPorts = [ 2234 22000 ];
|
|
||||||
# allow specific udp ports
|
|
||||||
allowedUDPPorts = [ 22000 21027 ];
|
|
||||||
# if packets are still dropped, they will show up in dmesg
|
|
||||||
logReversePathDrops = true;
|
|
||||||
# wireguard trips rpfilter up
|
|
||||||
extraCommands = ''
|
|
||||||
ip46tables -t mangle -I nixos-fw-rpfilter -p udp -m udp --sport 51820 -j RETURN
|
|
||||||
ip46tables -t mangle -I nixos-fw-rpfilter -p udp -m udp --dport 51820 -j RETURN
|
|
||||||
'';
|
|
||||||
extraStopCommands = ''
|
|
||||||
ip46tables -t mangle -D nixos-fw-rpfilter -p udp -m udp --sport 51820 -j RETURN || true
|
|
||||||
ip46tables -t mangle -D nixos-fw-rpfilter -p udp -m udp --dport 51820 -j RETURN || true
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Defining my user
|
# Defining my user
|
||||||
users.users.crony = {
|
users.users.crony = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Crony";
|
description = "Crony";
|
||||||
extraGroups =
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
[ "networkmanager" "wheel" "video" "input" "audio" "libvirtd" ];
|
packages = with pkgs; [
|
||||||
|
(retroarch.override {
|
||||||
|
cores = with libretro; [
|
||||||
|
snes9x
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Add ~/.local/bin to path
|
# Allow appimages to run manually
|
||||||
environment.localBinInPath = true;
|
boot.binfmt.registrations.appimage = {
|
||||||
|
wrapInterpreterInShell = false;
|
||||||
|
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
|
||||||
|
recognitionType = "magic";
|
||||||
|
offset = 0;
|
||||||
|
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
|
||||||
|
magicOrExtension = ''\x7fELF....AI\x02'';
|
||||||
|
};
|
||||||
|
|
||||||
# Automatic cleanup and optimization
|
# Automatic cleanup and optimization
|
||||||
nix.optimise.automatic = true;
|
nix.optimise.automatic = true;
|
||||||
@ -203,13 +291,21 @@
|
|||||||
options = "--delete-older-than 15d";
|
options = "--delete-older-than 15d";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable virt manager
|
# Set power settings for my laptop cpu
|
||||||
virtualisation.libvirtd.enable = true;
|
systemd.services.ryzenadj = {
|
||||||
programs.virt-manager.enable = true;
|
enable = true;
|
||||||
|
description = "Set my ryzen cpu power.";
|
||||||
# Enable zram swap device
|
serviceConfig = {
|
||||||
zramSwap.enable = true;
|
Type = "oneshot";
|
||||||
|
ExecStart = toString (
|
||||||
|
pkgs.writeShellScript "ryzenadj-setup" ''
|
||||||
|
${pkgs.ryzenadj}/bin/ryzenadj --stapm-limit 35000 --fast-limit 35000 --slow-limit 35000 --slow-time 60 --stapm-time 1000 --tctl-temp 75 --vrmmax-current 65000
|
||||||
|
'');
|
||||||
|
};
|
||||||
|
wantedBy = ["default.target"];
|
||||||
|
};
|
||||||
|
|
||||||
# DO NOT CHANGE
|
# DO NOT CHANGE
|
||||||
system.stateVersion = "23.11";
|
system.stateVersion = "23.11";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,28 +1,30 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
{ config, lib, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules =
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
[ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ "kvm-amd" ];
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" =
|
||||||
device = "/dev/disk/by-uuid/35fda926-38bd-4da4-984e-054f768e2e95";
|
{ device = "/dev/disk/by-uuid/378a2cc3-3885-4d83-98d6-cbbf5dfc73fd";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" =
|
||||||
device = "/dev/disk/by-uuid/7BBE-9699";
|
{ device = "/dev/disk/by-uuid/62C0-1109";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/e76bb593-aa6c-4aa6-bf2d-723e3be01edc"; }
|
||||||
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
@ -33,6 +35,5 @@
|
|||||||
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
hardware.cpu.amd.updateMicrocode =
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
}
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
{ pkgs, ... }: {
|
|
||||||
# Allow appimages to run manually
|
|
||||||
boot.binfmt.registrations.appimage = {
|
|
||||||
wrapInterpreterInShell = false;
|
|
||||||
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
|
|
||||||
recognitionType = "magic";
|
|
||||||
offset = 0;
|
|
||||||
mask = "\\xff\\xff\\xff\\xff\\x00\\x00\\x00\\x00\\xff\\xff\\xff";
|
|
||||||
magicOrExtension = "\\x7fELF....AI\\x02";
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
{ pkgs }:
|
|
||||||
|
|
||||||
pkgs.stdenv.mkDerivation {
|
|
||||||
pname = "catppuccin-sddm";
|
|
||||||
version = "1a58b5c";
|
|
||||||
|
|
||||||
src = pkgs.fetchFromGitHub {
|
|
||||||
owner = "catppuccin";
|
|
||||||
repo = "sddm";
|
|
||||||
rev = "808b4b65c044cd13287d5956ccf2bf49a7d2615f";
|
|
||||||
hash = "sha256-ddz++Xzh3tiEdEnYvIhKcN8Y3FRSvaN0wtmCMb7DEVc=";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedUserEnvPkgs = with pkgs.libsForQt5; [ qtquickcontrols2 qtsvg ];
|
|
||||||
|
|
||||||
dontBuild = true;
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/share/sddm/themes
|
|
||||||
cp -r ./src/* $out/share/sddm/themes
|
|
||||||
'';
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
{ ... }: {
|
|
||||||
# Disable hibernation, sleep and other friends
|
|
||||||
systemd.targets = {
|
|
||||||
sleep = {
|
|
||||||
enable = false;
|
|
||||||
unitConfig.DefaultDependencies = "no";
|
|
||||||
};
|
|
||||||
suspend = {
|
|
||||||
enable = false;
|
|
||||||
unitConfig.DefaultDependencies = "no";
|
|
||||||
};
|
|
||||||
hibernate = {
|
|
||||||
enable = false;
|
|
||||||
unitConfig.DefaultDependencies = "no";
|
|
||||||
};
|
|
||||||
"hybrid-sleep" = {
|
|
||||||
enable = false;
|
|
||||||
unitConfig.DefaultDependencies = "no";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
{ ... }: {
|
|
||||||
### --- Enabling DNS Over HTTPS --- ###
|
|
||||||
|
|
||||||
# make network manager not set a default dns
|
|
||||||
networking.networkmanager.dns = "none";
|
|
||||||
|
|
||||||
# set dns to local nameservers
|
|
||||||
networking.nameservers = [ "127.0.0.1" "::1" ];
|
|
||||||
|
|
||||||
# Dnscrypt for dns over https
|
|
||||||
services.dnscrypt-proxy2 = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
ipv6_servers = true;
|
|
||||||
require_dnssec = true;
|
|
||||||
sources.public-resolvers = {
|
|
||||||
urls = [
|
|
||||||
"https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md"
|
|
||||||
"https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md"
|
|
||||||
];
|
|
||||||
cache_file = "/var/lib/dnscrypt-proxy2/public-resolvers.md";
|
|
||||||
minisign_key =
|
|
||||||
"RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3";
|
|
||||||
};
|
|
||||||
# use mullvad dns server
|
|
||||||
server_names = [ "mullvad-doh" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{ ... }: {
|
|
||||||
# Esync
|
|
||||||
systemd.extraConfig = "DefaultLimitNOFILE=1048576";
|
|
||||||
|
|
||||||
security.pam.loginLimits = [{
|
|
||||||
domain = "*";
|
|
||||||
type = "hard";
|
|
||||||
item = "nofile";
|
|
||||||
value = "1048576";
|
|
||||||
}];
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
{ ... }: {
|
|
||||||
# Enable networking
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
|
|
||||||
# Set iwd as wifi backend
|
|
||||||
networking.wireless.iwd.enable = true;
|
|
||||||
networking.networkmanager.wifi.backend = "iwd";
|
|
||||||
networking.networkmanager.wifi.powersave = false;
|
|
||||||
}
|
|
@ -1,33 +0,0 @@
|
|||||||
{ config, ... }: {
|
|
||||||
|
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
|
||||||
# Nvidia settings
|
|
||||||
hardware.nvidia = {
|
|
||||||
|
|
||||||
# Modesetting is required.
|
|
||||||
modesetting.enable = true;
|
|
||||||
|
|
||||||
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
|
|
||||||
powerManagement.enable = true;
|
|
||||||
|
|
||||||
# Nvidia fine grainder power management, super experimental.
|
|
||||||
powerManagement.finegrained = false;
|
|
||||||
|
|
||||||
# Open kernel drivers
|
|
||||||
open = false;
|
|
||||||
|
|
||||||
# Enable the Nvidia settings menu,
|
|
||||||
nvidiaSettings = true;
|
|
||||||
|
|
||||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Nvidia optimus prime settings
|
|
||||||
hardware.nvidia.prime = {
|
|
||||||
offload.enableOffloadCmd = true;
|
|
||||||
reverseSync.enable = true;
|
|
||||||
intelBusId = "PCI:5:0:0";
|
|
||||||
nvidiaBusId = "PCI:1:0:0";
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
{ ... }: {
|
|
||||||
# Enable sound with pipewire.
|
|
||||||
sound.enable = true;
|
|
||||||
hardware.pulseaudio.enable = false;
|
|
||||||
hardware.pulseaudio.support32Bit = true;
|
|
||||||
security.rtkit.enable = true;
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
alsa.enable = true;
|
|
||||||
alsa.support32Bit = true;
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
{ pkgs, ... }: {
|
|
||||||
# Setup plasma with excluding a couple unnecesarry packages
|
|
||||||
services.desktopManager.plasma6.enable = true;
|
|
||||||
environment.plasma6.excludePackages = with pkgs.libsForQt5; [
|
|
||||||
plasma-browser-integration
|
|
||||||
konsole
|
|
||||||
oxygen
|
|
||||||
];
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
{ pkgs, ... }: {
|
|
||||||
# Set power settings for my laptop cpu
|
|
||||||
systemd.services.ryzenadj = {
|
|
||||||
enable = true;
|
|
||||||
description = "Set my ryzen cpu power.";
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "oneshot";
|
|
||||||
ExecStart = toString (pkgs.writeShellScript "ryzenadj-setup" ''
|
|
||||||
${pkgs.ryzenadj}/bin/ryzenadj --stapm-limit 30000 --fast-limit 30000 --slow-limit 30000 --slow-time 60 --stapm-time 1000 --tctl-temp 80 --vrmmax-current 50000
|
|
||||||
'');
|
|
||||||
};
|
|
||||||
wantedBy = [ "default.target" ];
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,14 +0,0 @@
|
|||||||
{ ... }: {
|
|
||||||
# Enable sddm with catppuccin theme and fix virtual keyboard bug
|
|
||||||
services.displayManager.sddm = {
|
|
||||||
enable = true;
|
|
||||||
wayland.enable = true;
|
|
||||||
theme = "catppuccin-frappe";
|
|
||||||
# Fix keyboard showing up unnecesarilly
|
|
||||||
settings = {
|
|
||||||
General = { InputMethod = ""; };
|
|
||||||
# Setup nicer cursor theme
|
|
||||||
Theme = { CursorTheme = "Catppuccin-Frappe-Rosewater-Cursors"; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,5 +0,0 @@
|
|||||||
{ config, ... }: {
|
|
||||||
# Setup correct modules for tplink wifi dongle and disable builtin wifi card.
|
|
||||||
boot.blacklistedKernelModules = [ "rtl8xxxu" "iwlwifi" ];
|
|
||||||
boot.extraModulePackages = with config.boot.kernelPackages; [ rtl8192eu ];
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user