Compare commits

..

No commits in common. "main" and "test" have entirely different histories.
main ... test

56 changed files with 837 additions and 2304 deletions

2
.envrc
View File

@ -1,2 +0,0 @@
watch_file shell.nix
use flake

2
.gitignore vendored
View File

@ -1,2 +0,0 @@
.direnv/
.pre-commit-config.yaml

View File

@ -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!

View File

@ -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",

View File

@ -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,15 +13,9 @@
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"; system = "x86_64-linux";
@ -37,15 +27,13 @@
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;
home-manager.extraSpecialArgs = {inherit inputs;}; home-manager.extraSpecialArgs = {inherit inputs;};
home-manager.users.crony = { home-manager.users.crony = {
imports = [ ./home-manager/home.nix ]; imports = [
./home-manager/home.nix
];
}; };
} }
]; ];
}; };
}; };
devShells.x86_64-linux.default = let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in (import ./shell.nix { inherit pkgs pre-commit-hooks; });
}; };
} }

View File

@ -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" ];
}; };
}; };
} }

View File

@ -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;
};
}

View File

@ -1,10 +0,0 @@
{ inputs, ... }: {
# Btop settings
programs.btop = {
enable = true;
settings = {
color_theme = "catppuccin_frappe";
vim_keys = true;
};
};
}

View File

@ -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;
}

View File

@ -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

View File

@ -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

View File

@ -1,4 +0,0 @@
$env.config = {
show_banner: false,
edit_mode: vi,
}

View File

@ -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

View File

@ -1,7 +0,0 @@
effects = cas:fxaa
casSharpness = 0.0
fxaaQualitySubpix = 0.80
fxaaQualityEdgeThreshold = 0.125
fxaaQualityEdgeThresholdMin = 0.0625

View File

@ -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";
};
}))
];
}

View File

@ -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;
};
}

View File

@ -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 ];
};
}

View File

@ -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";
};
};
}

View File

@ -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
];
};
}

View File

@ -1,7 +0,0 @@
{ inputs, pkgs, ... }: {
# Install newsboat
home.packages = [ pkgs.newsboat ];
# Setup my config file
home.file = { ".config/newsboat/config".source = ./confs/newsboat; };
}

View File

@ -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";
};
}

View File

@ -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;
}

View File

@ -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 ];
};
}

View File

@ -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")

View File

@ -1,9 +0,0 @@
{ pkgs, ... }: {
home.packages = [
pkgs.catppuccin-gtk
(pkgs.catppuccin-papirus-folders.override {
flavor = "frappe";
accent = "pink";
})
];
}

View File

@ -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" ];
};
};
}

View File

@ -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 ]}
'';
}

View File

@ -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

View File

@ -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

View File

@ -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"

View 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

View File

@ -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"

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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 ];
}

View File

@ -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;
};
};
}

View File

@ -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
'';
};
}

View File

@ -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; };
}

View File

@ -1,7 +0,0 @@
{ inputs, pkgs, ... }: {
home.packages = with pkgs; [ vkbasalt ];
home.file = {
".config/vkBasalt/vkBasalt.conf".source = ./confs/vkBasalt.conf;
};
}

View File

@ -1,37 +1,21 @@
{ pkgs, ... }: { config, pkgs, ... }:
{ {
# Imports # Imports
imports = [ imports =
[
./hardware-configuration.nix ./hardware-configuration.nix
./modules/wifi-dongle.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,100 +214,15 @@
gamemode gamemode
ipafont ipafont
ryzenadj ryzenadj
wineWowPackages.staging
cryptsetup
xfsprogs
(catppuccin-kde.override { winDecStyles = ["classic" "modern"] ;}) (catppuccin-kde.override { winDecStyles = ["classic" "modern"] ;})
catppuccin-gtk
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 = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
gamescopeSession.enable = 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
services.fstrim.enable = true;
# Enable ratbagd for mice configuration
services.ratbagd.enable = true;
# Enable firmware updater
services.fwupd.enable = true;
# Setup syncthing
services = {
syncthing = {
enable = true;
user = "crony";
dataDir = "/home/crony/.local/sync";
configDir = "/home/crony/.config/syncthing";
};
};
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable touchpad support
services.libinput.enable = true;
# 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 = { 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 # if packets are still dropped, they will show up in dmesg
logReversePathDrops = true; logReversePathDrops = true;
# wireguard trips rpfilter up # wireguard trips rpfilter up
@ -183,17 +236,52 @@
''; '';
}; };
# Enable fstrim
services.fstrim.enable = true;
# Enable ratbagd for mice configuration
services.ratbagd.enable = true;
# Setup syncthing
services = {
syncthing = {
enable = true;
user = "crony";
dataDir = "/home/crony/.local/sync";
configDir = "/home/crony/.config/syncthing";
};
};
# Setting up zsh
programs.zsh.enable = true;
# For the completion plugin
environment.pathsToLink = [ "/share/zsh" ];
# 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";
} }

View File

@ -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;
} }

View File

@ -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";
};
}

View File

@ -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
'';
}

View File

@ -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";
};
};
}

View File

@ -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" ];
};
};
}

View File

@ -1,11 +0,0 @@
{ ... }: {
# Esync
systemd.extraConfig = "DefaultLimitNOFILE=1048576";
security.pam.loginLimits = [{
domain = "*";
type = "hard";
item = "nofile";
value = "1048576";
}];
}

View File

@ -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;
}

View File

@ -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";
};
}

View File

@ -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;
};
}

View File

@ -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
];
}

View File

@ -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" ];
};
}

View File

@ -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"; };
};
};
}

View File

@ -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 ];
}

View File

@ -1,7 +0,0 @@
{ pkgs ? import <nixpkgs> { }, pre-commit-hooks, ... }:
let
pre-commit-check = pre-commit-hooks.lib.${pkgs.system}.run {
src = ".";
hooks = { nixfmt.enable = true; };
};
in pkgs.mkShell { inherit (pre-commit-check) shellHook; }