Compare commits
57 Commits
95f82db97b
...
master
Author | SHA1 | Date | |
---|---|---|---|
ae9cfa140d | |||
e975931d39 | |||
f6c2eac572 | |||
82eb9ddf97 | |||
af827c485b | |||
93debfb780 | |||
91bb55c48f | |||
3e517b1961 | |||
cf2c6fc646 | |||
8a7822f0c3 | |||
20380d6123 | |||
5711cfb5a1 | |||
9bc74de397 | |||
8cae83ba6c | |||
f199c178a9 | |||
628ebbcbff | |||
ec564b9b7e | |||
018ef38ca6 | |||
5a7c53acbe | |||
8b2445c9b4 | |||
0f799f0cb3 | |||
d068d5f04f | |||
5b8e5215ff | |||
80a8dbc425 | |||
a7ce77727b | |||
9a921aa73f | |||
d26c2e9012 | |||
644085925b | |||
f1279adac4 | |||
5a2ba0e314 | |||
c94b6da250 | |||
acf85dd34b | |||
649c734b79 | |||
3975280145 | |||
65962041e3 | |||
f9e87d2d0a | |||
31d3e1c2ac | |||
abda1acad9 | |||
4346c1502b | |||
42ddf88931 | |||
7151ae23d7 | |||
186afc9cd0 | |||
155e1512de | |||
3fa174d961 | |||
09829c1786 | |||
69af85a55e | |||
3eea0a9bd4 | |||
9aa3ab5d41 | |||
8dd38dd6c0 | |||
db2758d0fc | |||
c2a85ce5df | |||
6dec59555e | |||
a4e3511154 | |||
bf2392c65b | |||
c55400247b | |||
8f9b03ecb0 | |||
f7e1b1c86c |
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
/result
|
||||
*.qcow2
|
||||
|
||||
.directory
|
252
flake.lock
generated
252
flake.lock
generated
@@ -1,40 +1,5 @@
|
||||
{
|
||||
"nodes": {
|
||||
"devshell": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1722113426,
|
||||
"narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"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-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
@@ -43,11 +8,32 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1722555600,
|
||||
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
|
||||
"lastModified": 1749398372,
|
||||
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
|
||||
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nur",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -61,11 +47,11 @@
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -74,58 +60,6 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"nixvim",
|
||||
"flake-compat"
|
||||
],
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723202784,
|
||||
"narHash": "sha256-qbhjc/NEGaDbyy0ucycubq4N3//gDFFH3DOmp1D3u1Q=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "c7012d0c18567c889b948781bc74a501e92275d1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"git-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"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -133,11 +67,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723015306,
|
||||
"narHash": "sha256-jQnFEtH20/OsDPpx71ntZzGdRlpXhUENSQCGTjn//NA=",
|
||||
"lastModified": 1749935160,
|
||||
"narHash": "sha256-lTLR7AyrrIS/b4frHKb5pw/gcPM0GgoGCURqeiOX9k8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e",
|
||||
"rev": "8fabeb9c142a303e02270c3a3a0d8e00af9d0dfe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -149,16 +83,16 @@
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"plasma-manager",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723015306,
|
||||
"narHash": "sha256-jQnFEtH20/OsDPpx71ntZzGdRlpXhUENSQCGTjn//NA=",
|
||||
"lastModified": 1740494361,
|
||||
"narHash": "sha256-Dd/GhJ9qKmUwuhgt/PAROG8J6YdU2ZjtJI9SQX5sVQI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e",
|
||||
"rev": "74f0a8546e3f2458c870cf90fc4b38ac1f498b17",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -167,24 +101,31 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_3": {
|
||||
"ixx": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"flake-utils"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"plasma-manager",
|
||||
"nixvim",
|
||||
"nuschtosSearch",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1714377222,
|
||||
"narHash": "sha256-UsDsjWCKlWn8vbXi8Zza9Hkq3xyk8fpvFNo2VM5S74E=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "2af7c78b7bb9cf18406a193eba13ef9f99388f49",
|
||||
"lastModified": 1748294338,
|
||||
"narHash": "sha256-FVO01jdmUNArzBS7NmaktLdGA5qA3lUMJ4B7a05Iynw=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "ixx",
|
||||
"rev": "cc5f390f7caf265461d4aab37e98d2292ebbdb85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"owner": "NuschtOS",
|
||||
"ref": "v0.0.8",
|
||||
"repo": "ixx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -204,34 +145,29 @@
|
||||
"url": "https://git.psf.lt/xezo360hye/nethack"
|
||||
}
|
||||
},
|
||||
"nix-darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1722924007,
|
||||
"narHash": "sha256-+CQDamNwqO33REJLft8c26NbUi2Td083hq6SvAm2xkU=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "91010a5613ffd7ee23ee9263213157a1c422b705",
|
||||
"lastModified": 1749794982,
|
||||
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1723175592,
|
||||
"narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=",
|
||||
"lastModified": 1749794982,
|
||||
"narHash": "sha256-Kh9K4taXbVuaLC0IL+9HcfvxsSUx8dPB5s5weJcc9pc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5e0ca22929f3342b19569b21b2f3462f053e497b",
|
||||
"rev": "ee930f9755f58096ac6e8ca94a1887e0534e2d81",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -243,24 +179,19 @@
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"devshell": "devshell",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts",
|
||||
"git-hooks": "git-hooks",
|
||||
"home-manager": "home-manager_2",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723323133,
|
||||
"narHash": "sha256-g3wit604jFhBvjDBziJgulDUXDl/ApafMXq7o7ioMxo=",
|
||||
"lastModified": 1749924512,
|
||||
"narHash": "sha256-IYv0yEFh86c+UnkcjrUAV0UeIE+9vMEeXDIF+YRlooc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "f13bdef0bc697261c51eab686c28c7e2e7b7db3c",
|
||||
"rev": "e114d442b14f3a299307ca9b0f0eab20e821f419",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -270,12 +201,17 @@
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723380405,
|
||||
"narHash": "sha256-r2TX7+d1ABS3X04kmbicfpV96yXUVLIZGC6FR55VwhA=",
|
||||
"lastModified": 1749934169,
|
||||
"narHash": "sha256-2oGEmCWq0T2qG7tUaPdUv0jOk09oWTit9NfI6gCScC4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "110866de6b9a3981751d3d4cf9f7b978610b30f1",
|
||||
"rev": "da2de77056b07a63601c9198708ff02ddab21fcb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -287,17 +223,18 @@
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"ixx": "ixx",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723134722,
|
||||
"narHash": "sha256-wknII7R6ewALIxIKYtqeahjUk/ZrFj1ZtSpNBaHDCyg=",
|
||||
"lastModified": 1749730855,
|
||||
"narHash": "sha256-L3x2nSlFkXkM6tQPLJP3oCBMIsRifhIDPMQQdHO5xWo=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "1016f4620e321c12ff1dbcd464e9de889e302d1c",
|
||||
"rev": "8dfe5879dd009ff4742b668d9c699bc4b9761742",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -308,17 +245,17 @@
|
||||
},
|
||||
"plasma-manager": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager_3",
|
||||
"home-manager": "home-manager_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723232379,
|
||||
"narHash": "sha256-F4Y3f9305aHGWKqAd3s2GyNRONdpDBuNuK4TCSdaHz8=",
|
||||
"lastModified": 1748196248,
|
||||
"narHash": "sha256-1iHjsH6/5UOerJEoZKE+Gx1BgAoge/YcnUsOA4wQ/BU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "plasma-manager",
|
||||
"rev": "22bea90404c5ff6457913a03c1a54a3caa5b1c57",
|
||||
"rev": "b7697abe89967839b273a863a3805345ea54ab56",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -352,19 +289,34 @@
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nur",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723303070,
|
||||
"narHash": "sha256-krGNVA30yptyRonohQ+i9cnK+CfCpedg6z3qzqVJcTs=",
|
||||
"lastModified": 1733222881,
|
||||
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "14c092e0326de759e16b37535161b3cb9770cea3",
|
||||
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
141
flake.nix
141
flake.nix
@@ -2,88 +2,107 @@
|
||||
description = "My homebrew NixOS configurations";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = github:nixos/nixpkgs/nixos-unstable;
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
|
||||
home-manager = {
|
||||
url = github:nix-community/home-manager;
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nixvim = {
|
||||
url = github:nix-community/nixvim;
|
||||
url = "github:nix-community/nixvim";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
plasma-manager = {
|
||||
url = github:nix-community/plasma-manager;
|
||||
url = "github:nix-community/plasma-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nur = {
|
||||
url = github:nix-community/NUR;
|
||||
};
|
||||
|
||||
nethack = {
|
||||
url = git+https://git.psf.lt/xezo360hye/nethack?shallow=1;
|
||||
};
|
||||
nur.url = "github:nix-community/NUR";
|
||||
nethack.url = "git+https://git.psf.lt/xezo360hye/nethack?shallow=1";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, nixvim, nethack, plasma-manager, nur, ... } @ inputs:
|
||||
let
|
||||
inherit (self) outputs;
|
||||
inherit (nixpkgs) lib;
|
||||
outputs =
|
||||
{
|
||||
self,
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
nixvim,
|
||||
nethack,
|
||||
plasma-manager,
|
||||
nur,
|
||||
...
|
||||
}@inputs:
|
||||
let
|
||||
inherit (nixpkgs) lib;
|
||||
|
||||
username = "andrey";
|
||||
hostnames = [ "tokishiko" "maidena" ];
|
||||
stateVersion = "24.05";
|
||||
username = "andrey";
|
||||
hostnames = [
|
||||
"tokishiko"
|
||||
"maidena"
|
||||
"noma"
|
||||
"tuxedo"
|
||||
];
|
||||
stateVersion = "24.05";
|
||||
|
||||
makeSystem = hostname: {
|
||||
"${hostname}" = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
nur.nixosModules.nur
|
||||
makeSystem = hostname: {
|
||||
"${hostname}" = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
home-manager.nixosModules.home-manager
|
||||
nur.modules.nixos.default
|
||||
|
||||
./system/common.nix
|
||||
./system/${hostname}.nix
|
||||
./hardware/${hostname}.nix
|
||||
./system/common.nix
|
||||
./system/${hostname}.nix
|
||||
./hardware/${hostname}.nix
|
||||
|
||||
{
|
||||
system.stateVersion = stateVersion;
|
||||
networking.hostName = hostname;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
{
|
||||
system.stateVersion = stateVersion;
|
||||
networking.hostName = hostname;
|
||||
|
||||
extractModule = { homeManagerModules, ... }: homeManagerModules."${lib.head (lib.attrNames homeManagerModules)}";
|
||||
homeManagerModules = map extractModule [ nixvim nethack plasma-manager ];
|
||||
makeHome = hostname: {
|
||||
"${username}@${hostname}" = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = import nixpkgs {
|
||||
system = "x86_64-linux";
|
||||
config.allowUnfree = true;
|
||||
overlays = [ nur.overlay ];
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
|
||||
home-manager.users.${username} = {
|
||||
imports =
|
||||
[
|
||||
./home/${hostname}.nix
|
||||
./home/common.nix
|
||||
]
|
||||
++ (map
|
||||
(
|
||||
module:
|
||||
let
|
||||
hm = module.homeManagerModules;
|
||||
in
|
||||
hm.${lib.head (lib.attrNames hm)}
|
||||
)
|
||||
[
|
||||
nixvim
|
||||
nethack
|
||||
plasma-manager
|
||||
]
|
||||
);
|
||||
|
||||
home = {
|
||||
username = username;
|
||||
homeDirectory = "/home/${username}";
|
||||
stateVersion = stateVersion;
|
||||
};
|
||||
|
||||
news.display = "show";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
modules = homeManagerModules ++ [
|
||||
nur.hmModules.nur
|
||||
|
||||
./home/${hostname}.nix
|
||||
./home/common.nix
|
||||
|
||||
{
|
||||
news.display = "show";
|
||||
home.username = username;
|
||||
home.homeDirectory = "/home/${username}";
|
||||
home.stateVersion = stateVersion;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
forEachHost = fn: lib.fold lib.mergeAttrs {} (map fn hostnames);
|
||||
in {
|
||||
nixosConfigurations = forEachHost makeSystem;
|
||||
homeConfigurations = forEachHost makeHome;
|
||||
};
|
||||
forEachHost = fn: lib.mergeAttrsList (map fn hostnames);
|
||||
in
|
||||
{
|
||||
nixosConfigurations = forEachHost makeSystem;
|
||||
|
||||
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-tree;
|
||||
};
|
||||
}
|
||||
|
39
hardware/noma.nix
Normal file
39
hardware/noma.nix
Normal file
@@ -0,0 +1,39 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "sd_mod" "sr_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/522d5c82-5a7b-4aa2-8b69-7c7a8b225924";
|
||||
fsType = "xfs";
|
||||
};
|
||||
|
||||
fileSystems."/boot/efi" =
|
||||
{ device = "/dev/disk/by-uuid/D219-B08E";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# 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
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
@@ -10,11 +10,11 @@
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ehci_pci" "ahci" "xhci_pci" "firewire_ohci" "usb_storage" "sd_mod" "sr_mod" "sdhci_pci" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.kernelModules = [ ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/98ff21ae-1adf-469e-8cea-3bd04cc564ab";
|
||||
{ device = "/dev/disk/by-uuid/68a22707-e30a-469b-b24b-13fccd128929";
|
||||
fsType = "xfs";
|
||||
};
|
||||
|
||||
|
42
hardware/tuxedo.nix
Normal file
42
hardware/tuxedo.nix
Normal file
@@ -0,0 +1,42 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "rtsx_pci_sdmmc" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/67e3bb85-4f70-4b8f-8b88-ad0e0f96e336";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot/efi" =
|
||||
{ device = "/dev/disk/by-uuid/8834-14B3";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/f198a128-2b2f-48b9-a804-cce6ab9803de"; }
|
||||
];
|
||||
|
||||
# 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
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp58s0f1.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.tailscale0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp59s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
123
home/common.nix
123
home/common.nix
@@ -1,102 +1,97 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./modules/nethack.nix
|
||||
./modules/firefox.nix
|
||||
./modules/thunderbird
|
||||
./modules/nethack
|
||||
./modules/firefox
|
||||
];
|
||||
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
fastfetch.enable = true;
|
||||
htop.enable = true;
|
||||
|
||||
btop.enable = true;
|
||||
|
||||
bash = {
|
||||
enable = true;
|
||||
historyControl = [ "ignoreboth" ];
|
||||
};
|
||||
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "xezo360hye";
|
||||
userEmail = "xezo360hye@gmail.com";
|
||||
delta.enable = true;
|
||||
extraConfig = {
|
||||
credential.helper = "store";
|
||||
init.defaultBranch = "master";
|
||||
url."https://github.com/".insteadOf = [ "gh:" "github:" ];
|
||||
url."https://git.psf.lt/".insteadOf = [ "psf:" "gitea:" ];
|
||||
url."https://github.com/".insteadOf = [
|
||||
"gh:"
|
||||
"github:"
|
||||
];
|
||||
url."https://git.psf.lt/".insteadOf = [
|
||||
"psf:"
|
||||
"gitea:"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
nixvim = {
|
||||
enable = true;
|
||||
|
||||
colorschemes.nightfox = {
|
||||
enable = true;
|
||||
flavor = "nordfox";
|
||||
};
|
||||
|
||||
plugins = {
|
||||
guess-indent = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
copilot-lua = {
|
||||
enable = true;
|
||||
suggestion.autoTrigger = true;
|
||||
suggestion.keymap = {
|
||||
accept = "<M-Right>";
|
||||
acceptLine = "<M-l>";
|
||||
acceptWord = "<M-w>";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
mode = "n";
|
||||
key = ";";
|
||||
action = ":";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<Esc>";
|
||||
action = "<Cmd>nohlsearch<CR>";
|
||||
options = {
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
mpv = {
|
||||
enable = true;
|
||||
config.hwdec = "auto";
|
||||
scripts = with pkgs.mpvScripts; [
|
||||
mpris
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
package = pkgs.adwaita-icon-theme;
|
||||
name = "Adwaita";
|
||||
};
|
||||
};
|
||||
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
telegram-desktop
|
||||
libqalculate
|
||||
arduino-cli
|
||||
packages =
|
||||
with pkgs;
|
||||
let
|
||||
sent' = sent.overrideAttrs (oldAttrs: {
|
||||
buildInputs = oldAttrs.buildInputs ++ [ cairo ];
|
||||
patches = [
|
||||
./resources/patches/sent-pdf.diff
|
||||
];
|
||||
});
|
||||
in
|
||||
[
|
||||
texlive.combined.scheme-full
|
||||
telegram-desktop
|
||||
libreoffice-qt6
|
||||
libqalculate
|
||||
arduino-cli
|
||||
|
||||
ani-cli
|
||||
ytfzf
|
||||
gimp
|
||||
krita
|
||||
inkscape
|
||||
|
||||
cpufrequtils
|
||||
steam-run
|
||||
];
|
||||
ani-cli
|
||||
ytfzf
|
||||
|
||||
cpufrequtils
|
||||
steam-run
|
||||
|
||||
sent'
|
||||
|
||||
gcc
|
||||
python3
|
||||
nodejs
|
||||
lua
|
||||
|
||||
wl-clipboard
|
||||
];
|
||||
|
||||
sessionVariables = {
|
||||
ANI_CLI_PLAYER = "mpv";
|
||||
};
|
||||
|
||||
file = {
|
||||
".config/nixpkgs/config.nix".text = "{ allowUnfree = true; }";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
imports = [
|
||||
./modules/hyprland.nix
|
||||
./modules/plasma.nix
|
||||
./modules/hyprland
|
||||
./modules/plasma
|
||||
];
|
||||
}
|
||||
|
18
home/modules/emacs/default.nix
Normal file
18
home/modules/emacs/default.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
package = pkgs.emacs-gtk;
|
||||
extraPackages =
|
||||
epkgs: with epkgs; [
|
||||
doom
|
||||
|
||||
magit
|
||||
minimap
|
||||
rainbow-delimiters
|
||||
|
||||
company
|
||||
company-tabnine
|
||||
];
|
||||
};
|
||||
}
|
@@ -1,157 +0,0 @@
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
|
||||
profiles.default = {
|
||||
containersForce = true;
|
||||
containers = {
|
||||
social = {
|
||||
color = "turquoise";
|
||||
icon = "fence";
|
||||
id = 1;
|
||||
};
|
||||
|
||||
shopping = {
|
||||
color = "orange";
|
||||
icon = "cart";
|
||||
id = 2;
|
||||
};
|
||||
};
|
||||
|
||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
ublock-origin
|
||||
private-relay
|
||||
libredirect
|
||||
|
||||
reddit-enhancement-suite
|
||||
enhancer-for-youtube
|
||||
qr-code-address-bar
|
||||
];
|
||||
|
||||
settings = {
|
||||
"browser.newtabpage.pinned" = [
|
||||
{
|
||||
label = "Arch Wiki";
|
||||
url = "https://wiki.archlinux.org";
|
||||
}
|
||||
{
|
||||
label = "Translate";
|
||||
url = "https://mozhi.pussthecat.org";
|
||||
}
|
||||
{
|
||||
label = "ChatGPT";
|
||||
url = "https://chatgpt.com";
|
||||
}
|
||||
{
|
||||
label = "YouTube";
|
||||
url = "https://youtube.com";
|
||||
}
|
||||
{
|
||||
label = "Reddit";
|
||||
url = "https://old.reddit.com";
|
||||
}
|
||||
{
|
||||
label = "4chan";
|
||||
url = "https://www.4chan.org/frames";
|
||||
}
|
||||
];
|
||||
|
||||
"browser.aboutConfig.showWarning" = false;
|
||||
"browser.translations.automaticallyPopup" = false;
|
||||
"browser.tabs.inTitlebar" = 0;
|
||||
|
||||
"services.sync.engine.addons" = false;
|
||||
"services.sync.username" = "xezo360hye@gmail.com";
|
||||
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
"extensions.autoDisableScopes" = 0;
|
||||
};
|
||||
|
||||
search = {
|
||||
force = true;
|
||||
default = "DuckDuckGo";
|
||||
|
||||
engines = let
|
||||
makeShortcuts = let
|
||||
prefix = "@";
|
||||
in map (shortcut: prefix + shortcut);
|
||||
|
||||
hideEngines = let
|
||||
hideEngine = engine: {
|
||||
name = engine;
|
||||
value = {
|
||||
metaData.hidden = true;
|
||||
};
|
||||
};
|
||||
in engines: lib.listToAttrs (map hideEngine engines);
|
||||
in (hideEngines [ "Google" "Bing" "Amazon.com" "eBay" ]) //
|
||||
{
|
||||
"Arch Wiki" = {
|
||||
urls = [{ template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; }];
|
||||
iconUpdateURL = "https://wiki.archlinux.org/favicon.ico";
|
||||
definedAliases = makeShortcuts [ "archlinux" "aw" ];
|
||||
};
|
||||
|
||||
"Nix Packages" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{ name = "type"; value = "packages"; }
|
||||
{ name = "channel"; value = "unstable"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = makeShortcuts [ "nixpkgs" "packages" "np" ];
|
||||
};
|
||||
|
||||
"NixOS Wiki" = {
|
||||
urls = [{ template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; }];
|
||||
iconUpdateURL = "https://wiki.nixos.org/favicon.png";
|
||||
definedAliases = makeShortcuts [ "nixos" "nw" ];
|
||||
};
|
||||
|
||||
"MyNixOS" = {
|
||||
urls = [{ template = "https://mynixos.com/search?q={searchTerms}"; }];
|
||||
iconUpdateURL = "https://mynixos.com/favicon-light.svg";
|
||||
definedAliases = makeShortcuts [ "mynixos" "mw" ];
|
||||
};
|
||||
|
||||
"RuTracker" = {
|
||||
urls = [{ template = "https://rutracker.org/forum/tracker.php?nm={searchTerms}"; }];
|
||||
iconUpdateURL = "https://rutracker.org/favicon.ico";
|
||||
definedAliases = makeShortcuts [ "rutracker" "rt" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
policies = {
|
||||
DontCheckDefaultBrowser = true;
|
||||
DisableFirefoxStudies = true;
|
||||
DisableTelemetry = true;
|
||||
DisablePocket = true;
|
||||
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = false;
|
||||
|
||||
Cryptomining = true;
|
||||
EmailTracking = true;
|
||||
Fingerprinting = true;
|
||||
|
||||
Exceptions = [];
|
||||
};
|
||||
|
||||
FirefoxHome = {
|
||||
SponsoredTopSites = false;
|
||||
SponsoredPocket = false;
|
||||
Pocket = false;
|
||||
};
|
||||
|
||||
StartDownloadsInTempDirectory = true;
|
||||
};
|
||||
};
|
||||
}
|
182
home/modules/firefox/default.nix
Normal file
182
home/modules/firefox/default.nix
Normal file
@@ -0,0 +1,182 @@
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
|
||||
profiles.default = {
|
||||
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
ublock-origin
|
||||
private-relay
|
||||
yomitan
|
||||
|
||||
reddit-enhancement-suite
|
||||
enhancer-for-youtube
|
||||
qr-code-address-bar
|
||||
];
|
||||
|
||||
settings = {
|
||||
"browser.newtabpage.pinned" = [
|
||||
{
|
||||
label = "Arch Wiki";
|
||||
url = "https://wiki.archlinux.org";
|
||||
}
|
||||
{
|
||||
label = "Translate";
|
||||
url = "https://mozhi.pussthecat.org";
|
||||
}
|
||||
{
|
||||
label = "ChatGPT";
|
||||
url = "https://chatgpt.com";
|
||||
}
|
||||
{
|
||||
label = "YouTube";
|
||||
url = "https://youtube.com";
|
||||
}
|
||||
{
|
||||
label = "Reddit";
|
||||
url = "https://old.reddit.com";
|
||||
}
|
||||
{
|
||||
label = "4chan";
|
||||
url = "https://www.4chan.org/frames";
|
||||
}
|
||||
];
|
||||
|
||||
"browser.aboutConfig.showWarning" = false;
|
||||
"browser.translations.automaticallyPopup" = false;
|
||||
"browser.tabs.inTitlebar" = 0;
|
||||
|
||||
"devtools.accessibility.enabled" = false;
|
||||
"browser.eme.ui.enabled" = false;
|
||||
|
||||
"services.sync.engine.addons" = false;
|
||||
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
"extensions.autoDisableScopes" = 0;
|
||||
};
|
||||
|
||||
search = {
|
||||
force = true;
|
||||
default = "ddg";
|
||||
|
||||
engines =
|
||||
let
|
||||
makeShortcuts =
|
||||
let
|
||||
prefix = "@";
|
||||
in
|
||||
map (shortcut: prefix + shortcut);
|
||||
|
||||
hideEngines =
|
||||
let
|
||||
hideEngine = engine: {
|
||||
name = engine;
|
||||
value = {
|
||||
metaData.hidden = true;
|
||||
};
|
||||
};
|
||||
in
|
||||
engines: lib.listToAttrs (map hideEngine engines);
|
||||
in
|
||||
(hideEngines [
|
||||
"google"
|
||||
"bing"
|
||||
"amazondotcom-us"
|
||||
"ebay"
|
||||
])
|
||||
// {
|
||||
"Arch Wiki" = {
|
||||
urls = [ { template = "https://wiki.archlinux.org/index.php?search={searchTerms}"; } ];
|
||||
icon = "https://wiki.archlinux.org/favicon.ico";
|
||||
definedAliases = makeShortcuts [
|
||||
"archlinux"
|
||||
"aw"
|
||||
];
|
||||
};
|
||||
|
||||
"Nix Packages" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{
|
||||
name = "type";
|
||||
value = "packages";
|
||||
}
|
||||
{
|
||||
name = "channel";
|
||||
value = "unstable";
|
||||
}
|
||||
{
|
||||
name = "query";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = makeShortcuts [
|
||||
"nixpkgs"
|
||||
"packages"
|
||||
"np"
|
||||
];
|
||||
};
|
||||
|
||||
"NixOS Wiki" = {
|
||||
urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ];
|
||||
icon = "https://wiki.nixos.org/favicon.png";
|
||||
definedAliases = makeShortcuts [
|
||||
"nixos"
|
||||
"nw"
|
||||
];
|
||||
};
|
||||
|
||||
"MyNixOS" = {
|
||||
urls = [ { template = "https://mynixos.com/search?q={searchTerms}"; } ];
|
||||
icon = "https://mynixos.com/favicon-light.svg";
|
||||
definedAliases = makeShortcuts [
|
||||
"mynixos"
|
||||
"mw"
|
||||
];
|
||||
};
|
||||
|
||||
"RuTracker" = {
|
||||
urls = [ { template = "https://rutracker.org/forum/tracker.php?nm={searchTerms}"; } ];
|
||||
icon = "https://rutracker.org/favicon.ico";
|
||||
definedAliases = makeShortcuts [
|
||||
"rutracker"
|
||||
"rt"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
policies = {
|
||||
DontCheckDefaultBrowser = true;
|
||||
DisableFirefoxStudies = true;
|
||||
DisableTelemetry = true;
|
||||
DisablePocket = true;
|
||||
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = false;
|
||||
|
||||
Cryptomining = true;
|
||||
EmailTracking = true;
|
||||
Fingerprinting = true;
|
||||
|
||||
Exceptions = [ ];
|
||||
};
|
||||
|
||||
FirefoxHome = {
|
||||
SponsoredTopSites = false;
|
||||
SponsoredPocket = false;
|
||||
Pocket = false;
|
||||
};
|
||||
|
||||
StartDownloadsInTempDirectory = true;
|
||||
};
|
||||
};
|
||||
}
|
@@ -5,7 +5,8 @@
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let genFlatList = f: n: builtins.concatLists (builtins.genList f n);
|
||||
let
|
||||
genFlatList = f: n: builtins.concatLists (builtins.genList f n);
|
||||
in
|
||||
{
|
||||
programs.kitty = {
|
||||
@@ -50,26 +51,28 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
bind = [
|
||||
"SUPER, Return, exec, kitty"
|
||||
"SUPER SHIFT, Q, exit"
|
||||
bind =
|
||||
[
|
||||
"SUPER, Return, exec, kitty"
|
||||
"SUPER SHIFT, Q, exit"
|
||||
|
||||
"SUPER, V, togglefloating"
|
||||
"SUPER, J, togglesplit"
|
||||
"SUPER, P, pseudo"
|
||||
"SUPER, V, togglefloating"
|
||||
"SUPER, J, togglesplit"
|
||||
"SUPER, P, pseudo"
|
||||
|
||||
"ALT CTRL, left, workspace, -1"
|
||||
"ALT CTRL, right, workspace, +1"
|
||||
] ++ (
|
||||
genFlatList
|
||||
( x: let n = toString (x + 1);
|
||||
"ALT CTRL, left, workspace, -1"
|
||||
"ALT CTRL, right, workspace, +1"
|
||||
]
|
||||
++ (genFlatList (
|
||||
x:
|
||||
let
|
||||
n = toString (x + 1);
|
||||
in
|
||||
[ "SUPER, ${n}, workspace, ${n}"
|
||||
[
|
||||
"SUPER, ${n}, workspace, ${n}"
|
||||
"SUPER SHIFT, ${n}, movetoworkspace, ${n}"
|
||||
]
|
||||
)
|
||||
9
|
||||
);
|
||||
) 9);
|
||||
};
|
||||
};
|
||||
}
|
44
home/modules/neovim/default.nix
Normal file
44
home/modules/neovim/default.nix
Normal file
@@ -0,0 +1,44 @@
|
||||
{
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
|
||||
colorschemes.nightfox = {
|
||||
enable = true;
|
||||
flavor = "nordfox";
|
||||
};
|
||||
|
||||
plugins = {
|
||||
guess-indent = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
copilot-lua = {
|
||||
enable = true;
|
||||
settings = {
|
||||
suggestion.autoTrigger = true;
|
||||
suggestion.keymap = {
|
||||
accept = "<M-a>";
|
||||
acceptLine = "<M-l>";
|
||||
acceptWord = "<M-w>";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
mode = "n";
|
||||
key = ";";
|
||||
action = ":";
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<Esc>";
|
||||
action = "<Cmd>nohlsearch<CR>";
|
||||
options = {
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
@@ -3,7 +3,7 @@
|
||||
enable = true;
|
||||
nethack_options = {
|
||||
windowtype = "curses";
|
||||
align_message = "bottom";
|
||||
align_message = "top";
|
||||
msg_window = "reverse";
|
||||
msghistory = 1000;
|
||||
statuslines = 3;
|
||||
@@ -24,48 +24,30 @@
|
||||
autopickup = true;
|
||||
pickup_burden = "B";
|
||||
disclose = "+iagcvo";
|
||||
sortloot = "full";
|
||||
runmode = "crawl";
|
||||
sortloot = "none";
|
||||
runmode = "walk";
|
||||
boulder = "0";
|
||||
|
||||
gender = "male";
|
||||
};
|
||||
|
||||
choose_options = {
|
||||
wizard.nethack_options = {
|
||||
race = "elf";
|
||||
role = "wizard";
|
||||
pickup_types = ''$!="+?'';
|
||||
};
|
||||
|
||||
tourist.nethack_options = {
|
||||
role = "tourist";
|
||||
pickup_types = ''$!="+?'';
|
||||
};
|
||||
|
||||
caveman.nethack_options = {
|
||||
race = "dwarf";
|
||||
role = "caveman";
|
||||
pickup_types = ''$!=%"?()'';
|
||||
};
|
||||
pickup_types = ''$!=/?'';
|
||||
};
|
||||
|
||||
hilite_status = {
|
||||
hitpoints = {
|
||||
"100%" = "grey";
|
||||
"100%" = "grey";
|
||||
"<100%" = "green";
|
||||
"<66%" = "yellow";
|
||||
"<50%" = "orange";
|
||||
"<33%" = "red&bold";
|
||||
"<15%" = "red&inverse";
|
||||
"<66%" = "yellow";
|
||||
"<50%" = "orange";
|
||||
"<33%" = "red&bold";
|
||||
"<15%" = "red&inverse";
|
||||
};
|
||||
|
||||
power = {
|
||||
"100%" = "grey";
|
||||
"100%" = "grey";
|
||||
"<100%" = "green";
|
||||
"<66%" = "yellow";
|
||||
"<50%" = "orange";
|
||||
"<33%" = "red&bold";
|
||||
"<66%" = "yellow";
|
||||
"<50%" = "orange";
|
||||
"<33%" = "red&bold";
|
||||
};
|
||||
|
||||
cap = {
|
||||
@@ -107,40 +89,40 @@
|
||||
msg_types = {
|
||||
stop = [
|
||||
"The .* (grabs|swings itself around) you!"
|
||||
"You don't feel very well."
|
||||
"You are turning a little green."
|
||||
"Your limbs are getting oozy."
|
||||
"Your skin begins to peel away."
|
||||
"You are turning into a green slime."
|
||||
"You are slowing down."
|
||||
"Your limbs are stiffening."
|
||||
"It constricts your throat!"
|
||||
"You find it hard to breathe."
|
||||
"You're gasping for air."
|
||||
"Your blood is having trouble reaching your brain."
|
||||
"You can no longer breathe."
|
||||
"You're turning blue."
|
||||
"You faint from lack of food"
|
||||
"Your consciousness is fading."
|
||||
"You regain consciousness"
|
||||
"You don't feel very well."
|
||||
"You are turning a little green."
|
||||
"Your limbs are getting oozy."
|
||||
"Your skin begins to peel away."
|
||||
"You are turning into a green slime."
|
||||
"You are slowing down."
|
||||
"Your limbs are stiffening."
|
||||
"It constricts your throat!"
|
||||
"You find it hard to breathe."
|
||||
"You're gasping for air."
|
||||
"Your blood is having trouble reaching your brain."
|
||||
"You can no longer breathe."
|
||||
"You're turning blue."
|
||||
"You faint from lack of food"
|
||||
"Your consciousness is fading."
|
||||
"You regain consciousness"
|
||||
|
||||
"You feel weak"
|
||||
"You feel weak now"
|
||||
"You are beginning to feel weak"
|
||||
"You feel deathly sick"
|
||||
"You feel (much|even) worse"
|
||||
"You feel weak"
|
||||
"You feel weak now"
|
||||
"You are beginning to feel weak"
|
||||
"You feel deathly sick"
|
||||
"You feel (much|even) worse"
|
||||
|
||||
"You feel more confident "
|
||||
"You feel more confident "
|
||||
|
||||
"You only feel hungry now"
|
||||
" needs food, badly!"
|
||||
"You feel hungry"
|
||||
"You are beginning to feel hungry"
|
||||
"You are getting the munchies"
|
||||
"You still have the munchies"
|
||||
"The munchies are interfering with your motor capabilities"
|
||||
"You now have a lesser case of the munchies"
|
||||
];
|
||||
"You only feel hungry now"
|
||||
" needs food, badly!"
|
||||
"You feel hungry"
|
||||
"You are beginning to feel hungry"
|
||||
"You are getting the munchies"
|
||||
"You still have the munchies"
|
||||
"The munchies are interfering with your motor capabilities"
|
||||
"You now have a lesser case of the munchies"
|
||||
];
|
||||
|
||||
hide = [
|
||||
"You swap places with .*"
|
||||
@@ -217,17 +199,21 @@
|
||||
"(mud|buckled|riding|snow|hiking|combat|jungle) boots" = "magenta";
|
||||
" (Dragonbane|Fire Brand|Frost Brand|Ogresmasher|Trollsbane|Werebane)" = "lightgreen";
|
||||
" (Demonbane|Excalibur|Grayswandir|Snickersnee|Sunsword)" = "lightgreen";
|
||||
" (Orb of Detection|Sceptre of Might|Magic Mirror of Merlin|Mitre of Holiness|Tsurugi of Muramasa)" = "lightgreen";
|
||||
" (Orb of Detection|Sceptre of Might|Magic Mirror of Merlin|Mitre of Holiness|Tsurugi of Muramasa)" =
|
||||
"lightgreen";
|
||||
" (Cleaver|Giantslayer|Magicbane|Mjollnir|Vorpal Blade)" = "lightgreen";
|
||||
" (Heart of Ahriman|Staff of Aesculapius|Eyes of the Overworld|Platinum Yendorian Express Card|Orb of Fate|Eye of the Aethiopica)" = "lightgreen";
|
||||
" (Heart of Ahriman|Staff of Aesculapius|Eyes of the Overworld|Platinum Yendorian Express Card|Orb of Fate|Eye of the Aethiopica)" =
|
||||
"lightgreen";
|
||||
" (Grimtooth|Orcrist|Sting|Stormbringer)" = "lightgreen";
|
||||
" (Longbow of Diana|Master Key of Thievery)" = "lightgreen";
|
||||
" (Bell of Opening|silver bell|Candelabrum of Invocation|candelabrum|Book of the Dead|papyrus spellbook)" = "magenta&bold";
|
||||
" (Bell of Opening|silver bell|Candelabrum of Invocation|candelabrum|Book of the Dead|papyrus spellbook)" =
|
||||
"magenta&bold";
|
||||
" Amulet of Yendor named" = "magenta&bold";
|
||||
" cursed.* bag .* holding" = "red&bold";
|
||||
" cursed.* luck(stone)?($| )" = "red&bold";
|
||||
" cursed.* unicorn horn" = "red&bold";
|
||||
" cursed.* (Bell of Opening|silver bell|Candelabrum of Invocation|candelabrum|Book of the Dead|papyrus spellbook)" = "red&bold";
|
||||
" cursed.* (Bell of Opening|silver bell|Candelabrum of Invocation|candelabrum|Book of the Dead|papyrus spellbook)" =
|
||||
"red&bold";
|
||||
"cursed tins? .* spinach|tins? .* spinach .* (cursed|C($| ))" = "red";
|
||||
" load(stone)?($| )" = "red&underline";
|
||||
" bag .* tricks" = "blue&underline";
|
||||
@@ -236,8 +222,10 @@
|
||||
" gold piece" = "yellow";
|
||||
" valuable" = "brown";
|
||||
" gems? .* hard" = "yellow";
|
||||
" ([0-9]+|an?|gems? .*) (uncursed |cursed |blessed )?(dilithium|opal|garnet|jasper|agate|jet|obsidian|jade|citrine|chrysoberyl|amber|amethyst|fluorite|turquoise)(e?s)?( stones?| gems?| crystals?)?( named .*)?$" = "brown";
|
||||
" ([0-9]+|an?|gems?.*) (uncursed |cursed |blessed )?(diamond|rub(y|ies)|jacinth|sapphire|black opal|emerald|topaz|aquamarine)(e?s)?( stones?| gems?)?( named .*)?$" = "yellow";
|
||||
" ([0-9]+|an?|gems? .*) (uncursed |cursed |blessed )?(dilithium|opal|garnet|jasper|agate|jet|obsidian|jade|citrine|chrysoberyl|amber|amethyst|fluorite|turquoise)(e?s)?( stones?| gems?| crystals?)?( named .*)?$" =
|
||||
"brown";
|
||||
" ([0-9]+|an?|gems?.*) (uncursed |cursed |blessed )?(diamond|rub(y|ies)|jacinth|sapphire|black opal|emerald|topaz|aquamarine)(e?s)?( stones?| gems?)?( named .*)?$" =
|
||||
"yellow";
|
||||
" 0%" = "white";
|
||||
" [1-9]%" = "cyan";
|
||||
" [12][0-9]%" = "cyan";
|
@@ -1,10 +1,10 @@
|
||||
{ pkgs, ... }:
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
programs.firefox = {
|
||||
nativeMessagingHosts = [ pkgs.plasma-browser-integration ];
|
||||
nativeMessagingHosts = [ pkgs.kdePackages.plasma-browser-integration ];
|
||||
|
||||
profiles.default = {
|
||||
extensions = [ pkgs.nur.repos.rycee.firefox-addons.plasma-integration ];
|
||||
extensions.packages = [ pkgs.nur.repos.rycee.firefox-addons.plasma-integration ];
|
||||
|
||||
settings = {
|
||||
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
||||
@@ -13,18 +13,21 @@
|
||||
};
|
||||
};
|
||||
|
||||
services.kdeconnect.enable = true;
|
||||
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
overrideConfig = true;
|
||||
|
||||
input.touchpads = [{
|
||||
enable = true;
|
||||
name = "SynPS/2 Synaptics TouchPad";
|
||||
vendorId = "0002";
|
||||
productId = "0007";
|
||||
disableWhileTyping = false;
|
||||
naturalScroll = true;
|
||||
}];
|
||||
input.touchpads = [
|
||||
{
|
||||
enable = true;
|
||||
name = "SynPS/2 Synaptics TouchPad";
|
||||
vendorId = "0002";
|
||||
productId = "0007";
|
||||
disableWhileTyping = false;
|
||||
naturalScroll = true;
|
||||
}
|
||||
];
|
||||
|
||||
kwin.edgeBarrier = 0;
|
||||
workspace = {
|
||||
@@ -32,45 +35,63 @@
|
||||
theme = "breeze-dark";
|
||||
colorScheme = "BreezeDark";
|
||||
lookAndFeel = "org.kde.breezedark.desktop";
|
||||
wallpaper = ../resources/wallpaper.png;
|
||||
wallpaper = ../../resources/wallpaper.png;
|
||||
};
|
||||
|
||||
panels = [
|
||||
{
|
||||
screen = "all";
|
||||
location = "bottom";
|
||||
hiding = "dodgewindows";
|
||||
widgets = [
|
||||
{
|
||||
kickoff.icon = "nix-snowflake-white";
|
||||
}
|
||||
"org.kde.plasma.pager"
|
||||
{
|
||||
iconTasks.launchers = [
|
||||
"applications:systemsettings.desktop"
|
||||
"applications:org.kde.dolphin.desktop"
|
||||
"applications:firefox.desktop"
|
||||
"applications:org.kde.konsole.desktop"
|
||||
];
|
||||
}
|
||||
"org.kde.plasma.marginseparator"
|
||||
{
|
||||
systemTray = {};
|
||||
}
|
||||
{
|
||||
digitalClock = {
|
||||
date.format = "isoDate";
|
||||
time.format = "24h";
|
||||
time.showSeconds = "always";
|
||||
calendar.firstDayOfWeek = "monday";
|
||||
floating = false;
|
||||
height = 44;
|
||||
|
||||
widgets =
|
||||
let
|
||||
kickoff = {
|
||||
kickoff.icon = "nix-snowflake-white";
|
||||
};
|
||||
}
|
||||
"org.kde.plasma.showdesktop"
|
||||
];
|
||||
|
||||
taskmanager = {
|
||||
iconTasks.launchers = [
|
||||
"applications:systemsettings.desktop"
|
||||
"applications:org.kde.dolphin.desktop"
|
||||
"applications:firefox.desktop"
|
||||
"applications:org.kde.konsole.desktop"
|
||||
];
|
||||
};
|
||||
|
||||
systray = {
|
||||
systemTray.items.shown = [
|
||||
"org.kde.plasma.battery"
|
||||
];
|
||||
};
|
||||
|
||||
digital-clock = {
|
||||
digitalClock = {
|
||||
date.format = "isoDate";
|
||||
time.format = "24h";
|
||||
|
||||
date.position = "belowTime";
|
||||
calendar.firstDayOfWeek = "monday";
|
||||
};
|
||||
};
|
||||
|
||||
workspaces = "org.kde.plasma.pager";
|
||||
separator = "org.kde.plasma.panelspacer";
|
||||
in
|
||||
[
|
||||
kickoff
|
||||
workspaces
|
||||
taskmanager
|
||||
|
||||
separator
|
||||
digital-clock
|
||||
separator
|
||||
|
||||
systray
|
||||
];
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
window-rules = [
|
||||
{
|
||||
description = "Konsole";
|
||||
@@ -125,10 +146,12 @@
|
||||
kxkbrc.Layout = {
|
||||
LayoutList = "us,ru";
|
||||
DisplayNames = ",";
|
||||
VariantList = ",";
|
||||
VariantList = "symbolic,";
|
||||
Options = "caps:escape_shifted_capslock,grp:win_space_toggle";
|
||||
ResetOldOptions = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
gtk.gtk2.force = true;
|
||||
}
|
12
home/modules/thunderbird/default.nix
Normal file
12
home/modules/thunderbird/default.nix
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
programs.thunderbird = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"privacy.donottrackheader.enabled" = true;
|
||||
};
|
||||
|
||||
profiles.default = {
|
||||
isDefault = true;
|
||||
};
|
||||
};
|
||||
}
|
5
home/noma.nix
Normal file
5
home/noma.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
imports = [
|
||||
./modules/plasma
|
||||
];
|
||||
}
|
117
home/resources/patches/sent-pdf.diff
Normal file
117
home/resources/patches/sent-pdf.diff
Normal file
@@ -0,0 +1,117 @@
|
||||
From 78a5f5d263c5209d685abbe657bbc5bd3f756994 Mon Sep 17 00:00:00 2001
|
||||
From: tuckerrrrrrrrrr <tucker1014@hotmail.com>
|
||||
Date: Sat, 14 Nov 2020 12:54:53 +0100
|
||||
Subject: [PATCH] Conversion to PDF
|
||||
|
||||
Add the ability to convert presentations to PDF. Adds an additional
|
||||
dependency: cairo.
|
||||
---
|
||||
config.def.h | 1 +
|
||||
config.mk | 7 +++++--
|
||||
sent.c | 42 ++++++++++++++++++++++++++++++++++++++----
|
||||
3 files changed, 44 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/config.def.h b/config.def.h
|
||||
index 60eb376..e68a099 100644
|
||||
--- a/config.def.h
|
||||
+++ b/config.def.h
|
||||
@@ -47,6 +47,7 @@ static Shortcut shortcuts[] = {
|
||||
{ XK_n, advance, {.i = +1} },
|
||||
{ XK_p, advance, {.i = -1} },
|
||||
{ XK_r, reload, {0} },
|
||||
+ { XK_g, pdf, {0} },
|
||||
};
|
||||
|
||||
static Filter filters[] = {
|
||||
diff --git a/config.mk b/config.mk
|
||||
index d61c554..9174687 100644
|
||||
--- a/config.mk
|
||||
+++ b/config.mk
|
||||
@@ -7,14 +7,17 @@ VERSION = 1
|
||||
PREFIX = /usr/local
|
||||
MANPREFIX = ${PREFIX}/share/man
|
||||
|
||||
+PKG_CONFIG = pkg-config
|
||||
+
|
||||
X11INC = /usr/X11R6/include
|
||||
X11LIB = /usr/X11R6/lib
|
||||
|
||||
# includes and libs
|
||||
INCS = -I. -I/usr/include -I/usr/include/freetype2 -I${X11INC}
|
||||
-LIBS = -L/usr/lib -lc -lm -L${X11LIB} -lXft -lfontconfig -lX11
|
||||
+LIBS = -L/usr/lib -lc -lm -L${X11LIB} -lXft -lfontconfig -lX11 -lcairo
|
||||
# OpenBSD (uncomment)
|
||||
-#INCS = -I. -I${X11INC} -I${X11INC}/freetype2
|
||||
+INCS = -I. -I${X11INC} -I${X11INC}/freetype2 `${PKG_CONFIG} --cflags cairo`
|
||||
+LIBS += -L/usr/local/lib
|
||||
# FreeBSD (uncomment)
|
||||
#INCS = -I. -I/usr/local/include -I/usr/local/include/freetype2 -I${X11INC}
|
||||
#LIBS = -L/usr/local/lib -lc -lm -L${X11LIB} -lXft -lfontconfig -lX11
|
||||
diff --git a/sent.c b/sent.c
|
||||
index 9534fca..dc5cf89 100644
|
||||
--- a/sent.c
|
||||
+++ b/sent.c
|
||||
@@ -19,6 +19,10 @@
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/Xft/Xft.h>
|
||||
|
||||
+#include <cairo/cairo.h>
|
||||
+#include <cairo/cairo-xlib.h>
|
||||
+#include <cairo/cairo-pdf.h>
|
||||
+
|
||||
#include "arg.h"
|
||||
#include "util.h"
|
||||
#include "drw.h"
|
||||
@@ -97,6 +101,7 @@ static void cleanup(int slidesonly);
|
||||
static void reload(const Arg *arg);
|
||||
static void load(FILE *fp);
|
||||
static void advance(const Arg *arg);
|
||||
+static void pdf();
|
||||
static void quit(const Arg *arg);
|
||||
static void resize(int width, int height);
|
||||
static void run();
|
||||
@@ -479,6 +480,42 @@ advance(const Arg *arg)
|
||||
}
|
||||
}
|
||||
|
||||
+void
|
||||
+pdf()
|
||||
+{
|
||||
+ const Arg next = { .i = 1 };
|
||||
+ Arg first;
|
||||
+ cairo_surface_t *cs;
|
||||
+
|
||||
+ if (!fname)
|
||||
+ fname = "slides";
|
||||
+
|
||||
+ char filename[strlen(fname) + 5];
|
||||
+ sprintf(filename, "%s.pdf", fname);
|
||||
+ cairo_surface_t *pdf = cairo_pdf_surface_create(filename, xw.w, xw.h);
|
||||
+
|
||||
+ cairo_t *cr = cairo_create(pdf);
|
||||
+
|
||||
+ first.i = -idx;
|
||||
+ advance(&first);
|
||||
+
|
||||
+ cs = cairo_xlib_surface_create(xw.dpy, xw.win, xw.vis, xw.w, xw.h);
|
||||
+ cairo_set_source_surface(cr, cs, 0.0, 0.0);
|
||||
+ for (int i = 0; i < slidecount; ++i) {
|
||||
+ cairo_paint(cr);
|
||||
+ cairo_show_page(cr);
|
||||
+ cairo_surface_flush(cs);
|
||||
+ advance(&next);
|
||||
+ cairo_surface_mark_dirty(cs);
|
||||
+ }
|
||||
+ cairo_surface_destroy(cs);
|
||||
+
|
||||
+ cairo_destroy(cr);
|
||||
+ cairo_surface_destroy(pdf);
|
||||
+ first.i = -(slidecount-1);
|
||||
+ advance(&first);
|
||||
+}
|
||||
+
|
||||
void
|
||||
quit(const Arg *arg)
|
||||
{
|
||||
--
|
||||
2.29.2
|
Binary file not shown.
Before Width: | Height: | Size: 529 KiB After Width: | Height: | Size: 533 KiB |
13
home/tuxedo.nix
Normal file
13
home/tuxedo.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./modules/plasma
|
||||
];
|
||||
|
||||
home = {
|
||||
packages = lib.mkAfter [ pkgs.discord ];
|
||||
file = {
|
||||
".config/discord/settings.json".text = ''{ "SKIP_HOST_UPDATE": true }'';
|
||||
};
|
||||
};
|
||||
}
|
@@ -1,36 +1,37 @@
|
||||
{ inputs, config, pkgs, lib, ... }:
|
||||
let flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
|
||||
in
|
||||
{
|
||||
# Bootloader
|
||||
boot.loader.grub.enable = true;
|
||||
boot.loader.grub.device = "/dev/sda";
|
||||
|
||||
boot.loader.grub.device = lib.mkDefault "/dev/sda";
|
||||
|
||||
# Networking
|
||||
networking.networkmanager.enable = true;
|
||||
services.openssh.enable = true;
|
||||
|
||||
|
||||
# Router shared filesystem
|
||||
fileSystems."/home/andrey/Public" = {
|
||||
device = "root@192.168.2.1:/mnt/sda1";
|
||||
fsType = "sshfs";
|
||||
options = [
|
||||
"nodev"
|
||||
"noatime"
|
||||
"allow_other"
|
||||
"reconnect"
|
||||
"IdentityFile=/home/andrey/.ssh/id_ed25519"
|
||||
networking.firewall = rec {
|
||||
allowedTCPPortRanges = [
|
||||
{
|
||||
from = 1714;
|
||||
to = 1764;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
allowedUDPPortRanges = allowedTCPPortRanges;
|
||||
};
|
||||
services.openssh.enable = true;
|
||||
services.tailscale.enable = true;
|
||||
|
||||
# l10n and i8n
|
||||
time.timeZone = "Europe/Riga";
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
|
||||
# Editor
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
@@ -39,12 +40,15 @@ in
|
||||
defaultEditor = true;
|
||||
};
|
||||
|
||||
|
||||
# Nix
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
trusted-users = [ "andrey" ];
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
flake-registry = "";
|
||||
nix-path = config.nix.nixPath;
|
||||
};
|
||||
@@ -54,18 +58,43 @@ in
|
||||
nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
|
||||
};
|
||||
|
||||
|
||||
# Users
|
||||
users.mutableUsers = false;
|
||||
users.users.andrey = {
|
||||
isNormalUser = true;
|
||||
initialHashedPassword = "$y$j9T$mGZT4otEkrc94e.Ile.P20$BoxfgxCiacs.tYoEp7S5AjcP.aMUBrsaCJYJkBot635";
|
||||
extraGroups = [ "wheel" "cdrom" "networkmanager" "audio" "dialout" ];
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"cdrom"
|
||||
"networkmanager"
|
||||
"audio"
|
||||
"dialout"
|
||||
"scanner"
|
||||
"lp"
|
||||
"adbusers"
|
||||
];
|
||||
};
|
||||
|
||||
security.sudo.execWheelOnly = true;
|
||||
security.sudo.wheelNeedsPassword = false;
|
||||
|
||||
# Printers and scanners
|
||||
hardware.sane.enable = true;
|
||||
services.printing.enable = true;
|
||||
programs.system-config-printer.enable = true;
|
||||
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
|
||||
# Distcc
|
||||
services.distccd = {
|
||||
enable = true;
|
||||
allowedClients = [ "192.168.0.0/24" ];
|
||||
stats.enable = true;
|
||||
};
|
||||
|
||||
# Programs
|
||||
programs = {
|
||||
@@ -73,18 +102,32 @@ in
|
||||
enable = true;
|
||||
config = {
|
||||
init.defaultBranch = "master";
|
||||
url."https://github.com/".insteadOf = [ "gh:" "github:" ];
|
||||
url."https://git.psf.lt/".insteadOf = [ "psf:" "gitea:" ];
|
||||
url."https://github.com/".insteadOf = [
|
||||
"gh:"
|
||||
"github:"
|
||||
];
|
||||
url."https://git.psf.lt/".insteadOf = [
|
||||
"psf:"
|
||||
"gitea:"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
# Packages
|
||||
environment.systemPackages = with pkgs; [
|
||||
alsa-utils
|
||||
|
||||
libextractor
|
||||
file
|
||||
|
||||
unzip
|
||||
];
|
||||
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
settings.General.Enable = "Source,Sink,Media,Socket";
|
||||
};
|
||||
|
||||
# Xorg
|
||||
security.rtkit.enable = true;
|
||||
@@ -104,4 +147,11 @@ in
|
||||
tappingDragLock = false;
|
||||
};
|
||||
};
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-cjk-serif
|
||||
|
||||
nerd-fonts.fira-code
|
||||
];
|
||||
}
|
||||
|
@@ -1,4 +1,6 @@
|
||||
{
|
||||
services.distccd.maxJobs = 4;
|
||||
|
||||
services = {
|
||||
desktopManager.plasma6.enable = true;
|
||||
displayManager.sddm = {
|
||||
|
22
system/noma.nix
Normal file
22
system/noma.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
services.distccd.maxJobs = 4;
|
||||
|
||||
boot.loader = {
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
efiSysMountPoint = "/boot/efi";
|
||||
};
|
||||
grub = {
|
||||
efiSupport = true;
|
||||
device = "nodev";
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
desktopManager.plasma6.enable = true;
|
||||
displayManager.sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
@@ -1,4 +1,5 @@
|
||||
{
|
||||
services.distccd.maxJobs = 8;
|
||||
console.keyMap = "no";
|
||||
|
||||
services = {
|
||||
|
38
system/tuxedo.nix
Normal file
38
system/tuxedo.nix
Normal file
@@ -0,0 +1,38 @@
|
||||
{ lib, pkgs, ... }:
|
||||
{
|
||||
boot.loader = {
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
efiSysMountPoint = "/boot/efi";
|
||||
};
|
||||
grub = {
|
||||
efiSupport = true;
|
||||
device = "nodev";
|
||||
};
|
||||
};
|
||||
|
||||
hardware.graphics.extraPackages = with pkgs; [
|
||||
intel-media-driver
|
||||
intel-compute-runtime
|
||||
intel-media-sdk
|
||||
];
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
users.users.andrey.extraGroups = lib.mkAfter [ "docker" ];
|
||||
|
||||
services = {
|
||||
desktopManager.plasma6.enable = true;
|
||||
displayManager.sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
fonts.packages = lib.mkAfter (
|
||||
with pkgs;
|
||||
[
|
||||
vistafonts
|
||||
corefonts
|
||||
]
|
||||
);
|
||||
}
|
Reference in New Issue
Block a user