mirror of
https://forge.katzen.cafe/schrottkatze/nix-configs.git
synced 2025-12-23 14:57:14 +01:00
Compare commits
No commits in common. "01e6551935e1c3a26263f5f19745bd1ddff5ddd1" and "4488cbcf1b05590c5877f0407c298a241cc30393" have entirely different histories.
01e6551935
...
4488cbcf1b
74 changed files with 4089 additions and 699 deletions
57
common.nix
57
common.nix
|
|
@ -12,10 +12,29 @@
|
||||||
with lib;
|
with lib;
|
||||||
with builtins; {
|
with builtins; {
|
||||||
imports = [lix-module.nixosModules.default];
|
imports = [lix-module.nixosModules.default];
|
||||||
|
nix = {
|
||||||
|
extraOptions = ''
|
||||||
|
experimental-features = nix-command flakes
|
||||||
|
keep-outputs = true
|
||||||
|
keep-derivations = true
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
permittedInsecurePackages = [
|
||||||
|
"electron-27.3.11"
|
||||||
|
"nodejs-16.20.0"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
overlays = [rs-programs niri.overlays.niri];
|
||||||
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
overskride
|
overskride
|
||||||
|
pulsemixer
|
||||||
|
|
||||||
htmlq
|
htmlq
|
||||||
|
|
||||||
|
|
@ -69,14 +88,18 @@ with builtins; {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.graphics.enable = true;
|
networking = {
|
||||||
|
networkmanager = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
systemd-lock-handler.enable = true;
|
systemd-lock-handler.enable = true;
|
||||||
openssh = {
|
openssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings.PasswordAuthentication = false;
|
# settings.PasswordAuthentication = false;
|
||||||
settings.KbdInteractiveAuthentication = false;
|
# settings.KbdInteractiveAuthentication = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -93,11 +116,31 @@ with builtins; {
|
||||||
|
|
||||||
hardware.gpgSmartcards.enable = true;
|
hardware.gpgSmartcards.enable = true;
|
||||||
|
|
||||||
|
time.timeZone = "Europe/Berlin";
|
||||||
|
|
||||||
|
home-manager.users.jade = {
|
||||||
|
nixosConfig,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.sessionVariables.TZ = nixosConfig.time.timeZone;
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
|
sudo = pkgs.sudo.override {withInsults = true;};
|
||||||
|
};
|
||||||
|
security.sudo.extraConfig = "Defaults insults";
|
||||||
|
|
||||||
boot.kernel.sysctl."vm.max_map_count" = 2147483642;
|
boot.kernel.sysctl."vm.max_map_count" = 2147483642;
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
uinput.enable = true;
|
uinput.enable = true;
|
||||||
bluetooth.enable = true;
|
bluetooth.enable = true;
|
||||||
|
# keyboard.uhk.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.avahi = {
|
||||||
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
|
|
@ -111,4 +154,12 @@ with builtins; {
|
||||||
enable = true;
|
enable = true;
|
||||||
algorithm = "zstd";
|
algorithm = "zstd";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
users.defaultUserShell = pkgs.nushell;
|
||||||
|
|
||||||
|
nix.gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 60d";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
471
flake.lock
generated
471
flake.lock
generated
|
|
@ -1,72 +1,5 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"base16": {
|
|
||||||
"inputs": {
|
|
||||||
"fromYaml": "fromYaml"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1732200724,
|
|
||||||
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
|
|
||||||
"owner": "SenchoPens",
|
|
||||||
"repo": "base16.nix",
|
|
||||||
"rev": "153d52373b0fb2d343592871009a286ec8837aec",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "SenchoPens",
|
|
||||||
"repo": "base16.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"base16-fish": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1622559957,
|
|
||||||
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
|
|
||||||
"owner": "tomyun",
|
|
||||||
"repo": "base16-fish",
|
|
||||||
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tomyun",
|
|
||||||
"repo": "base16-fish",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"base16-helix": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1736852337,
|
|
||||||
"narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-helix",
|
|
||||||
"rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-helix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"base16-vim": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1732806396,
|
|
||||||
"narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-vim",
|
|
||||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-vim",
|
|
||||||
"rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"crane": {
|
"crane": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742394900,
|
"lastModified": 1742394900,
|
||||||
|
|
@ -140,60 +73,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"firefox-gnome-theme": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1741628778,
|
|
||||||
"narHash": "sha256-RsvHGNTmO2e/eVfgYK7g+eYEdwwh7SbZa+gZkT24MEA=",
|
|
||||||
"owner": "rafaelmardojai",
|
|
||||||
"repo": "firefox-gnome-theme",
|
|
||||||
"rev": "5a81d390bb64afd4e81221749ec4bffcbeb5fa80",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "rafaelmardojai",
|
|
||||||
"repo": "firefox-gnome-theme",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-compat": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733328505,
|
|
||||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": [
|
|
||||||
"stylix",
|
|
||||||
"nur",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733312601,
|
|
||||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts_2": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
|
|
@ -229,27 +109,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils_2": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": [
|
|
||||||
"stylix",
|
|
||||||
"systems"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731533236,
|
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flakey-profile": {
|
"flakey-profile": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1712898590,
|
"lastModified": 1712898590,
|
||||||
|
|
@ -265,87 +124,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fromYaml": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731966426,
|
|
||||||
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
|
|
||||||
"owner": "SenchoPens",
|
|
||||||
"repo": "fromYaml",
|
|
||||||
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "SenchoPens",
|
|
||||||
"repo": "fromYaml",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"git-hooks": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": [
|
|
||||||
"stylix",
|
|
||||||
"flake-compat"
|
|
||||||
],
|
|
||||||
"gitignore": "gitignore",
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1741379162,
|
|
||||||
"narHash": "sha256-srpAbmJapkaqGRE3ytf3bj4XshspVR5964OX5LfjDWc=",
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"rev": "b5a62751225b2f62ff3147d0a334055ebadcd5cc",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "git-hooks.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gitignore": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gnome-shell": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1732369855,
|
|
||||||
"narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=",
|
|
||||||
"owner": "GNOME",
|
|
||||||
"repo": "gnome-shell",
|
|
||||||
"rev": "dadd58f630eeea41d645ee225a63f719390829dc",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "GNOME",
|
|
||||||
"ref": "47.2",
|
|
||||||
"repo": "gnome-shell",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -366,27 +144,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"home-manager_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1741635347,
|
|
||||||
"narHash": "sha256-2aYfV44h18alHXopyfL4D9GsnpE5XlSVkp4MGe586VU=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "7fb8678716c158642ac42f9ff7a18c0800fea551",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lix": {
|
"lix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
|
@ -424,6 +181,19 @@
|
||||||
"url": "https://git.lix.systems/lix-project/nixos-module"
|
"url": "https://git.lix.systems/lix-project/nixos-module"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"mac-brcm-fw": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1727366922,
|
||||||
|
"narHash": "sha256-+kW8ogc6DykjMVlrr+3vWKs9ZUdJ9EW72LbY7k/Qvh4=",
|
||||||
|
"path": "/home/jade/nix-configs/mac-brcm-fw",
|
||||||
|
"type": "path"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"path": "/home/jade/nix-configs/mac-brcm-fw",
|
||||||
|
"type": "path"
|
||||||
|
}
|
||||||
|
},
|
||||||
"niri": {
|
"niri": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"niri-stable": "niri-stable",
|
"niri-stable": "niri-stable",
|
||||||
|
|
@ -482,16 +252,18 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1742806253,
|
"lastModified": 1687903496,
|
||||||
"narHash": "sha256-zvQ4GsCJT6MTOzPKLmlFyM+lxo0JGQ0cSFaZSACmWfY=",
|
"narHash": "sha256-4PPwbFM4dNqso3zBya5rgfRvnBoIbN2J7qZ2ZpRyOUc=",
|
||||||
"owner": "NixOS",
|
"owner": "networkException",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "ecaa2d911e77c265c2a5bac8b583c40b0f151726",
|
"rev": "8e28b9ee431b265d1fc74b8b819ea0816344c4a1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"id": "nixos-hardware",
|
"owner": "networkException",
|
||||||
"type": "indirect"
|
"ref": "apple-t2-init",
|
||||||
|
"repo": "nixos-hardware",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
|
|
@ -584,22 +356,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
|
||||||
"lastModified": 1741513245,
|
|
||||||
"narHash": "sha256-7rTAMNTY1xoBwz0h7ZMtEcd8LELk9R5TzBPoHuhNSCk=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "e3e32b642a31e6714ec1b712de8c91a3352ce7e1",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_4": {
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726937504,
|
"lastModified": 1726937504,
|
||||||
"narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=",
|
"narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=",
|
||||||
|
|
@ -615,41 +371,18 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nur": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"treefmt-nix": "treefmt-nix"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1741693509,
|
|
||||||
"narHash": "sha256-emkxnsZstiJWmGACimyAYqIKz2Qz5We5h1oBVDyQjLw=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"rev": "5479646b2574837f1899da78bdf9a48b75a9fb27",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "NUR",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"crane": "crane",
|
"crane": "crane",
|
||||||
"fenix": "fenix",
|
"fenix": "fenix",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"lix-module": "lix-module",
|
"lix-module": "lix-module",
|
||||||
|
"mac-brcm-fw": "mac-brcm-fw",
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||||
"nixpkgs-unstable-small": "nixpkgs-unstable-small",
|
"nixpkgs-unstable-small": "nixpkgs-unstable-small",
|
||||||
"stylix": "stylix",
|
|
||||||
"typst-within": "typst-within"
|
"typst-within": "typst-within"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -699,41 +432,6 @@
|
||||||
"url": "https://static.rust-lang.org/dist/channel-rust-1.83.0.toml"
|
"url": "https://static.rust-lang.org/dist/channel-rust-1.83.0.toml"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"stylix": {
|
|
||||||
"inputs": {
|
|
||||||
"base16": "base16",
|
|
||||||
"base16-fish": "base16-fish",
|
|
||||||
"base16-helix": "base16-helix",
|
|
||||||
"base16-vim": "base16-vim",
|
|
||||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
|
||||||
"flake-compat": "flake-compat",
|
|
||||||
"flake-utils": "flake-utils_2",
|
|
||||||
"git-hooks": "git-hooks",
|
|
||||||
"gnome-shell": "gnome-shell",
|
|
||||||
"home-manager": "home-manager_2",
|
|
||||||
"nixpkgs": "nixpkgs_3",
|
|
||||||
"nur": "nur",
|
|
||||||
"systems": "systems_2",
|
|
||||||
"tinted-foot": "tinted-foot",
|
|
||||||
"tinted-kitty": "tinted-kitty",
|
|
||||||
"tinted-schemes": "tinted-schemes",
|
|
||||||
"tinted-tmux": "tinted-tmux",
|
|
||||||
"tinted-zed": "tinted-zed"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1743075971,
|
|
||||||
"narHash": "sha256-8fSI6C19ZTcHgvoLK17wfEEVI08tgnZfSLgVe3E/22w=",
|
|
||||||
"owner": "danth",
|
|
||||||
"repo": "stylix",
|
|
||||||
"rev": "2fb8321ea16c595e0208b22021ddaf1f471c634a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "danth",
|
|
||||||
"repo": "stylix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems": {
|
"systems": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1681028828,
|
||||||
|
|
@ -764,133 +462,14 @@
|
||||||
"type": "github"
|
"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"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-foot": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1726913040,
|
|
||||||
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-foot",
|
|
||||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-foot",
|
|
||||||
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-kitty": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1716423189,
|
|
||||||
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-kitty",
|
|
||||||
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-kitty",
|
|
||||||
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-schemes": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1741468895,
|
|
||||||
"narHash": "sha256-YKM1RJbL68Yp2vESBqeZQBjTETXo8mCTTzLZyckCfZk=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "schemes",
|
|
||||||
"rev": "47c8c7726e98069cade5827e5fb2bfee02ce6991",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "schemes",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-tmux": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1740877430,
|
|
||||||
"narHash": "sha256-zWcCXgdC4/owfH/eEXx26y5BLzTrefjtSLFHWVD5KxU=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-tmux",
|
|
||||||
"rev": "d48ee86394cbe45b112ba23ab63e33656090edb4",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "tinted-tmux",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tinted-zed": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1725758778,
|
|
||||||
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-zed",
|
|
||||||
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "tinted-theming",
|
|
||||||
"repo": "base16-zed",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"stylix",
|
|
||||||
"nur",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733222881,
|
|
||||||
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "treefmt-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"typst-within": {
|
"typst-within": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"crane": "crane_2",
|
"crane": "crane_2",
|
||||||
"fenix": "fenix_2",
|
"fenix": "fenix_2",
|
||||||
"flake-parts": "flake-parts_2",
|
"flake-parts": "flake-parts",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"rust-manifest": "rust-manifest",
|
"rust-manifest": "rust-manifest",
|
||||||
"systems": "systems_3"
|
"systems": "systems_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739736913,
|
"lastModified": 1739736913,
|
||||||
|
|
|
||||||
46
flake.nix
46
flake.nix
|
|
@ -6,9 +6,9 @@
|
||||||
nixpkgs-stable.url = "nixpkgs/nixos-24.11";
|
nixpkgs-stable.url = "nixpkgs/nixos-24.11";
|
||||||
nixpkgs-unstable-small.url = "nixpkgs/nixos-unstable-small";
|
nixpkgs-unstable-small.url = "nixpkgs/nixos-unstable-small";
|
||||||
niri.url = "github:sodiboo/niri-flake";
|
niri.url = "github:sodiboo/niri-flake";
|
||||||
stylix.url = "github:danth/stylix";
|
typst-within = {
|
||||||
typst-within.url = "github:schrottkatze/typst";
|
url = "github:schrottkatze/typst";
|
||||||
crane.url = "github:ipetkov/crane";
|
};
|
||||||
lix-module = {
|
lix-module = {
|
||||||
url = "git+https://git.lix.systems/lix-project/nixos-module";
|
url = "git+https://git.lix.systems/lix-project/nixos-module";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
@ -17,6 +17,14 @@
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
nixos-hardware.url = "github:networkException/nixos-hardware/apple-t2-init";
|
||||||
|
mac-brcm-fw = {
|
||||||
|
url = "path:/home/jade/nix-configs/mac-brcm-fw";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
|
crane = {
|
||||||
|
url = "github:ipetkov/crane";
|
||||||
|
};
|
||||||
fenix = {
|
fenix = {
|
||||||
url = "github:nix-community/fenix";
|
url = "github:nix-community/fenix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
@ -32,8 +40,8 @@
|
||||||
typst-within,
|
typst-within,
|
||||||
home-manager,
|
home-manager,
|
||||||
nixos-hardware,
|
nixos-hardware,
|
||||||
|
mac-brcm-fw,
|
||||||
niri,
|
niri,
|
||||||
stylix,
|
|
||||||
fenix,
|
fenix,
|
||||||
crane,
|
crane,
|
||||||
...
|
...
|
||||||
|
|
@ -70,7 +78,6 @@
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
inputs.niri.nixosModules.niri
|
inputs.niri.nixosModules.niri
|
||||||
stylix.nixosModules.stylix
|
|
||||||
./hosts/monosodium-glutamate-g/configuration.nix
|
./hosts/monosodium-glutamate-g/configuration.nix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
|
|
@ -97,7 +104,6 @@
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
inputs.niri.nixosModules.niri
|
inputs.niri.nixosModules.niri
|
||||||
stylix.nixosModules.stylix
|
|
||||||
./hosts/denkbrett/configuration.nix
|
./hosts/denkbrett/configuration.nix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
|
|
@ -117,6 +123,34 @@
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
potatobook-g = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = {
|
||||||
|
inherit inputs pkgs-unstable-small rs-programs lix-module niri;
|
||||||
|
};
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
inputs.niri.nixosModules.niri
|
||||||
|
"${mac-brcm-fw}"
|
||||||
|
./hosts/potatobook-g/configuration.nix
|
||||||
|
home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.extraSpecialArgs = {
|
||||||
|
inherit pkgs-unstable-small pkgs-stable typst-within;
|
||||||
|
};
|
||||||
|
home-manager.users.jade = {
|
||||||
|
nixosConfig,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.sessionVariables.TZ = nixosConfig.time.timeZone;
|
||||||
|
home.stateVersion = "${nixosConfig.system.stateVersion}";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
nixos-hardware.nixosModules.apple-t2
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,12 @@
|
||||||
# Edit this configuration file to define what should be installed on
|
# Edit this configuration file to define what should be installed on
|
||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
{pkgs, ...}: {
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
"electron-25.9.0"
|
"electron-25.9.0"
|
||||||
"electron-27.3.11"
|
"electron-27.3.11"
|
||||||
|
|
@ -41,6 +46,7 @@
|
||||||
|
|
||||||
boot.binfmt.emulatedSystems = ["aarch64-linux"];
|
boot.binfmt.emulatedSystems = ["aarch64-linux"];
|
||||||
|
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@
|
||||||
gnome.gnome-keyring.enable = true;
|
gnome.gnome-keyring.enable = true;
|
||||||
};
|
};
|
||||||
hardware = {
|
hardware = {
|
||||||
|
bluetooth.enable = true;
|
||||||
keyboard.uhk.enable = true;
|
keyboard.uhk.enable = true;
|
||||||
enableRedistributableFirmware = true;
|
enableRedistributableFirmware = true;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
169
hosts/potatobook-g/configuration.nix
Normal file
169
hosts/potatobook-g/configuration.nix
Normal file
|
|
@ -0,0 +1,169 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
nix.settings = {
|
||||||
|
trusted-substituters = [
|
||||||
|
"https://t2linux.cachix.org"
|
||||||
|
];
|
||||||
|
trusted-public-keys = [
|
||||||
|
"t2linux.cachix.org-1:P733c5Gt1qTcxsm+Bae0renWnT8OLs0u9+yfaK2Bejw="
|
||||||
|
];
|
||||||
|
};
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
../../common.nix
|
||||||
|
../../modules
|
||||||
|
#inputs.mms.module
|
||||||
|
];
|
||||||
|
|
||||||
|
#nixpkgs = {
|
||||||
|
#overlays = [
|
||||||
|
#(self: super: {
|
||||||
|
#linux_zen_xeniafied = pkgs.linuxPackagesFor (pkgs.linuxKernel.kernels.linux_zen.override {
|
||||||
|
#structuredExtraConfig = with lib.kernel; {
|
||||||
|
##"FB" = yes;
|
||||||
|
##"FRAMEBUFFER_CONSOLE" = yes;
|
||||||
|
##"VGA_CONSOLE" = yes;
|
||||||
|
##"VIDEO_SELECT" = yes;
|
||||||
|
#LOGO = lib.mkForce yes;
|
||||||
|
#LOGO_LINUX_CLUT224 = yes;
|
||||||
|
#};
|
||||||
|
#ignoreConfigErrors = true;
|
||||||
|
#});
|
||||||
|
#})
|
||||||
|
#];
|
||||||
|
#};
|
||||||
|
#boot.kernelPatches = [
|
||||||
|
#{
|
||||||
|
#name = "fomx";
|
||||||
|
#patch = ../other/0001-fomx.patch;
|
||||||
|
#}
|
||||||
|
#];
|
||||||
|
|
||||||
|
boot.binfmt.emulatedSystems = ["aarch64-linux"];
|
||||||
|
|
||||||
|
jade = {
|
||||||
|
flatpak.enable = true;
|
||||||
|
desktop = {
|
||||||
|
compositing.enable = true;
|
||||||
|
syncthing.enable = true;
|
||||||
|
kdeconnect.enable = true;
|
||||||
|
cloud.enable = true;
|
||||||
|
social.enable = true;
|
||||||
|
mail.enable = true;
|
||||||
|
gaming.enable = true;
|
||||||
|
evremap.enable = true;
|
||||||
|
};
|
||||||
|
terminal.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems = {
|
||||||
|
"/".options = ["compress=zstd:3"];
|
||||||
|
"/home".options = ["compress=zstd:3"];
|
||||||
|
"/nix".options = ["compress=zstd:3" "noatime"];
|
||||||
|
#"/swap".options = [ "noatime" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
services.libinput.touchpad = {
|
||||||
|
disableWhileTyping = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.hostName = "potatobook-g";
|
||||||
|
|
||||||
|
services.autorandr = {
|
||||||
|
enable = true;
|
||||||
|
profiles = {
|
||||||
|
"default" = {
|
||||||
|
config = {
|
||||||
|
"eDP-1" = {
|
||||||
|
enable = true;
|
||||||
|
mode = "1920x1200";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# hardware.keyboard.uhk.enable = true;
|
||||||
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
android-tools
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.pathsToLink = [
|
||||||
|
"/share/nix-direnv"
|
||||||
|
];
|
||||||
|
|
||||||
|
services.blueman.enable = true;
|
||||||
|
|
||||||
|
programs.adb.enable = true;
|
||||||
|
|
||||||
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
programs.seahorse.enable = true;
|
||||||
|
security.pam.services.jade.enableGnomeKeyring = true;
|
||||||
|
|
||||||
|
systemd.services."NetworkManager-wait-online".enable = false;
|
||||||
|
|
||||||
|
# services.pixiecore =
|
||||||
|
# let
|
||||||
|
# nixpkgs = builtins.getFlake "nixpkgs/nixos-unstable";
|
||||||
|
# sys = nixpkgs.lib.nixosSystem {
|
||||||
|
# system = "x86_64-linux";
|
||||||
|
# modules = [
|
||||||
|
# ({config, pkgs, lib, modulesPath, ...}: {
|
||||||
|
# imports = [
|
||||||
|
# (modulesPath + "/installer/netboot/netboot-base.nix")
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# services.getty.autologinUser = lib.mkForce "root";
|
||||||
|
# console.keyMap = "de";
|
||||||
|
|
||||||
|
# system.stateVersion = config.system.nixos.release;
|
||||||
|
# environment.systemPackages = with pkgs; [
|
||||||
|
# helix nil git neofetch
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# programs = {
|
||||||
|
# zsh = {
|
||||||
|
# enable = true;
|
||||||
|
# enableCompletion = true;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# })
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
# build = sys.config.system.build;
|
||||||
|
# in {
|
||||||
|
# enable = true;
|
||||||
|
# openFirewall = true;
|
||||||
|
# kernel = "${build.kernel}/bzImage";
|
||||||
|
# initrd = "${build.netbootRamdisk}/initrd";
|
||||||
|
# cmdLine = "init=${build.toplevel}/init loglevel=4";
|
||||||
|
# };
|
||||||
|
|
||||||
|
systemd.services = {
|
||||||
|
create-swapfile = {
|
||||||
|
serviceConfig.Type = "oneshot";
|
||||||
|
wantedBy = ["swap-swapfile.swap"];
|
||||||
|
script = ''
|
||||||
|
swapfile="/swap/swapfile"
|
||||||
|
if [[ -f "$swapfile" ]]; then
|
||||||
|
echo "Swap file $swapfile already exists, taking no action"
|
||||||
|
else
|
||||||
|
echo "Setting up swap file $swapfile"
|
||||||
|
${pkgs.coreutils}/bin/truncate -s 0 "$swapfile"
|
||||||
|
${pkgs.e2fsprogs}/bin/chattr +C "$swapfile"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.logind.extraConfig = ''
|
||||||
|
RuntimeDirectorySize=12G
|
||||||
|
'';
|
||||||
|
|
||||||
|
# i rly should put that important big comment back here
|
||||||
|
system.stateVersion = "22.11"; # Did you read the comment?
|
||||||
|
}
|
||||||
62
hosts/potatobook-g/hardware-configuration.nix
Normal file
62
hosts/potatobook-g/hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
# 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" "nvme" "usbhid" "uas" "sd_mod"];
|
||||||
|
boot.initrd.kernelModules = [];
|
||||||
|
boot.kernelModules = ["kvm-intel"];
|
||||||
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = ["subvol=root"];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/home" = {
|
||||||
|
device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = ["subvol=home"];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/nix" = {
|
||||||
|
device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = ["subvol=nix"];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/5F66-17ED";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [
|
||||||
|
{
|
||||||
|
device = "/swap/swapfile";
|
||||||
|
size = 1024 * 12; # 12GB
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
# 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.enp2s0f1u1.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
# high-resolution display
|
||||||
|
}
|
||||||
11
hosts/potatobook-g/iso.nix
Normal file
11
hosts/potatobook-g/iso.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
<nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>
|
||||||
|
<nixpkgs/nixos/modules/installer/cd-dvd/channel.nix>
|
||||||
|
./configuration.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
3
justfile
3
justfile
|
|
@ -12,6 +12,9 @@ tbuild:
|
||||||
update: update-typst-configs
|
update: update-typst-configs
|
||||||
nix flake update --commit-lock-file --log-format multiline
|
nix flake update --commit-lock-file --log-format multiline
|
||||||
|
|
||||||
|
build-mac:
|
||||||
|
sudo nixos-rebuild switch --flake . --impure --override-input mac-brcm-fw path:/home/jade/mac-brcm-fw --fast --log-format multiline
|
||||||
|
|
||||||
update-typst-configs:
|
update-typst-configs:
|
||||||
#!/usr/bin/env nu
|
#!/usr/bin/env nu
|
||||||
let file = './modules/desktop-environment/media/typst.nix';
|
let file = './modules/desktop-environment/media/typst.nix';
|
||||||
|
|
|
||||||
3
mac-brcm-fw/default.nix
Normal file
3
mac-brcm-fw/default.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{...}: {}
|
||||||
|
# dummy
|
||||||
|
|
||||||
|
|
@ -2,11 +2,10 @@
|
||||||
imports = [
|
imports = [
|
||||||
./shell
|
./shell
|
||||||
./desktop
|
./desktop
|
||||||
./desktop-legacy
|
|
||||||
./hardware
|
./hardware
|
||||||
./net
|
./firewall.nix
|
||||||
|
./desktop-environment
|
||||||
./input
|
./input
|
||||||
./media
|
./graphics.nix
|
||||||
./nix.nix
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,10 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
pavucontrol
|
||||||
|
volumeicon
|
||||||
playerctl
|
playerctl
|
||||||
pulsemixer
|
|
||||||
helvum
|
helvum
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
16
modules/desktop-environment/default.nix
Normal file
16
modules/desktop-environment/default.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{...}: {
|
||||||
|
imports = [
|
||||||
|
./audio.nix
|
||||||
|
./eduroam.nix
|
||||||
|
./home
|
||||||
|
./media
|
||||||
|
./dm.nix
|
||||||
|
./tlp.nix
|
||||||
|
./locale.nix
|
||||||
|
./printing.nix
|
||||||
|
];
|
||||||
|
services.flatpak.enable = true;
|
||||||
|
security.polkit.enable = true;
|
||||||
|
services.illum.enable = true;
|
||||||
|
services.upower.enable = true;
|
||||||
|
}
|
||||||
|
|
@ -2,18 +2,12 @@ label {
|
||||||
font: 14pt "Departure Mono Nerd Font";
|
font: 14pt "Departure Mono Nerd Font";
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
|
||||||
border-radius: 0px;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.background {
|
.background {
|
||||||
background-color: #1d2021;
|
background-color: #1d2021;
|
||||||
}
|
}
|
||||||
|
|
||||||
.workspaces button {
|
.workspaces button {
|
||||||
border: 0px;
|
border: 0px;
|
||||||
padding: 0 3px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.workspaces button.focused {
|
.workspaces button.focused {
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
command = [
|
command = [
|
||||||
"${pkgs.swaybg}/bin/swaybg"
|
"${pkgs.swaybg}/bin/swaybg"
|
||||||
"-i"
|
"-i"
|
||||||
"${./wallpaper.jpg}"
|
"${../../../../other/assets/wallpaper/wallpaper.jpg}"
|
||||||
"-m"
|
"-m"
|
||||||
"fill"
|
"fill"
|
||||||
];
|
];
|
||||||
|
|
@ -4,10 +4,7 @@
|
||||||
binds = {
|
binds = {
|
||||||
"Print".action.screenshot = [];
|
"Print".action.screenshot = [];
|
||||||
"Ctrl+Print".action.screenshot-screen = [];
|
"Ctrl+Print".action.screenshot-screen = [];
|
||||||
"Shift+Print".action.screenshot-window = [];
|
"Alt+Print".action.screenshot-window = [];
|
||||||
"Mod+S".action.screenshot = [];
|
|
||||||
"Mod+Ctrl+S".action.screenshot-screen = [];
|
|
||||||
"Mod+Shift+S".action.screenshot-window = [];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -14,7 +14,6 @@
|
||||||
foreground = "#ebdbb2";
|
foreground = "#ebdbb2";
|
||||||
frame_color = "#504945";
|
frame_color = "#504945";
|
||||||
frame_width = 2;
|
frame_width = 2;
|
||||||
font = "Atkinson Hyperlegible";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -1,14 +1,16 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
font.size = 12;
|
font = {
|
||||||
font.name = "Departure Mono Nerd Font";
|
name = "Departure Mono Nerd Font";
|
||||||
|
size = 12;
|
||||||
|
};
|
||||||
shellIntegration.enableFishIntegration = false;
|
shellIntegration.enableFishIntegration = false;
|
||||||
keybindings = {
|
keybindings = {
|
||||||
"ctrl+shift+n" = "new_os_window_with_cwd";
|
"ctrl+shift+n" = "new_os_window_with_cwd";
|
||||||
};
|
};
|
||||||
settings = rec {
|
settings = rec {
|
||||||
adjust_column_width = "95%";
|
#adjust_column_width = "70%";
|
||||||
color0 = "#282828";
|
color0 = "#282828";
|
||||||
color8 = "#928374";
|
color8 = "#928374";
|
||||||
color1 = "#cc241d";
|
color1 = "#cc241d";
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
{...}: {
|
{...}: {
|
||||||
time.timeZone = "Europe/Berlin";
|
|
||||||
i18n.extraLocaleSettings = {
|
i18n.extraLocaleSettings = {
|
||||||
LC_ADDRESS = "de_DE.UTF-8";
|
LC_ADDRESS = "de_DE.UTF-8";
|
||||||
LC_IDENTIFICATION = "de_DE.UTF-8";
|
LC_IDENTIFICATION = "de_DE.UTF-8";
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
with lib; {
|
|
||||||
imports = [
|
|
||||||
./gaming.nix
|
|
||||||
./syncthing.nix
|
|
||||||
./kdeconnect.nix
|
|
||||||
./social.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.seahorse.enable = true;
|
|
||||||
security.pam.services.jade.enableGnomeKeyring = true;
|
|
||||||
|
|
||||||
virtualisation.libvirtd.enable = true;
|
|
||||||
|
|
||||||
programs.xss-lock = {
|
|
||||||
enable = true;
|
|
||||||
lockerCommand = "${pkgs.i3lock}/bin/i3lock -c 1d2021";
|
|
||||||
};
|
|
||||||
|
|
||||||
services.illum.enable = true;
|
|
||||||
services.smartd = {
|
|
||||||
enable = true;
|
|
||||||
notifications.test = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.users.jade = {pkgs, ...}: {
|
|
||||||
programs.ssh = {
|
|
||||||
controlMaster = "yes";
|
|
||||||
};
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
just
|
|
||||||
bacon
|
|
||||||
|
|
||||||
magic-wormhole-rs
|
|
||||||
|
|
||||||
# filemanager
|
|
||||||
xfce.thunar
|
|
||||||
xfce.tumbler
|
|
||||||
xfce.thunar-archive-plugin
|
|
||||||
file-roller
|
|
||||||
|
|
||||||
# from environment.systemPackages cleanup
|
|
||||||
virt-manager
|
|
||||||
ddccontrol-db
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +1,60 @@
|
||||||
{...}: {
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; {
|
||||||
imports = [
|
imports = [
|
||||||
./audio.nix
|
./gaming.nix
|
||||||
./home
|
# TODO: more fine grained choices, not every setup needs fspy or rawtherapee
|
||||||
./dm.nix
|
./syncthing.nix
|
||||||
./tlp.nix
|
./kdeconnect.nix
|
||||||
./locale.nix
|
|
||||||
./printing.nix
|
|
||||||
./themeing.nix
|
./themeing.nix
|
||||||
|
./networking.nix
|
||||||
|
./social.nix
|
||||||
];
|
];
|
||||||
services.flatpak.enable = true;
|
|
||||||
security.polkit.enable = true;
|
programs.seahorse.enable = true;
|
||||||
|
security.pam.services.jade.enableGnomeKeyring = true;
|
||||||
|
|
||||||
|
virtualisation.libvirtd.enable = true;
|
||||||
|
|
||||||
|
programs.xss-lock = {
|
||||||
|
enable = true;
|
||||||
|
lockerCommand = "${pkgs.i3lock}/bin/i3lock -c 1d2021";
|
||||||
|
};
|
||||||
|
|
||||||
services.illum.enable = true;
|
services.illum.enable = true;
|
||||||
services.upower.enable = true;
|
services.avahi = {
|
||||||
|
enable = true;
|
||||||
|
nssmdns4 = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
services.smartd = {
|
||||||
|
enable = true;
|
||||||
|
notifications.test = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
home-manager.users.jade = {pkgs, ...}: {
|
||||||
|
programs.ssh = {
|
||||||
|
controlMaster = "yes";
|
||||||
|
};
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
just
|
||||||
|
bacon
|
||||||
|
|
||||||
|
magic-wormhole-rs
|
||||||
|
|
||||||
|
# filemanager
|
||||||
|
xfce.thunar
|
||||||
|
xfce.tumbler
|
||||||
|
xfce.thunar-archive-plugin
|
||||||
|
file-roller
|
||||||
|
|
||||||
|
# from environment.systemPackages cleanup
|
||||||
|
virt-manager
|
||||||
|
ddccontrol-db
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
69
modules/desktop/networking.nix
Normal file
69
modules/desktop/networking.nix
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
addNuShebang = path:
|
||||||
|
builtins.concatStringsSep "\n\n" [
|
||||||
|
"#!${pkgs.nushell}/bin/nu"
|
||||||
|
(builtins.readFile path)
|
||||||
|
];
|
||||||
|
in {
|
||||||
|
config = {
|
||||||
|
networking = {
|
||||||
|
networkmanager = {
|
||||||
|
wifi.backend = "wpa_supplicant";
|
||||||
|
dispatcherScripts = [
|
||||||
|
{
|
||||||
|
type = "basic";
|
||||||
|
source = pkgs.writeText "dispatcher" (addNuShebang ../../other/scripts/dispatcher.nu);
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
hosts = {
|
||||||
|
"127.0.0.1" = [
|
||||||
|
"www.tiktok.com"
|
||||||
|
"www.twitter.com"
|
||||||
|
"www.instagram.com"
|
||||||
|
"www.facebook.com"
|
||||||
|
"www.snapchat.com"
|
||||||
|
|
||||||
|
"tiktok.com"
|
||||||
|
"twitter.com"
|
||||||
|
"instagram.com"
|
||||||
|
"facebook.com"
|
||||||
|
"snapchat.com"
|
||||||
|
|
||||||
|
"google-analytics.com"
|
||||||
|
"stats.g.doubleclick.net"
|
||||||
|
"googleadservices.com"
|
||||||
|
"googletagmanager.com"
|
||||||
|
"googletagservices.com"
|
||||||
|
"googlesyndication.com"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
environment.etc = with builtins; (
|
||||||
|
listToAttrs (
|
||||||
|
map (v: {
|
||||||
|
name = "networkhooks/${v}";
|
||||||
|
value = {
|
||||||
|
text = addNuShebang ../../other/scripts/networkhooks/${v};
|
||||||
|
mode = "0755";
|
||||||
|
};
|
||||||
|
})
|
||||||
|
(attrNames (readDir ../../other/scripts/networkhooks))
|
||||||
|
)
|
||||||
|
);
|
||||||
|
systemd.services."NetworkManager-wait-online".enable = false;
|
||||||
|
services.mullvad-vpn.enable = true;
|
||||||
|
home-manager.users.jade = {pkgs, ...}: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
networkmanagerapplet
|
||||||
|
mullvad-vpn
|
||||||
|
macchanger
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,43 +1,19 @@
|
||||||
{pkgs, ...}: {
|
{
|
||||||
stylix = {
|
config,
|
||||||
enable = true;
|
lib,
|
||||||
polarity = "dark";
|
pkgs,
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
|
...
|
||||||
fonts = {
|
}: {
|
||||||
serif = {
|
config = {
|
||||||
package = pkgs.libertine;
|
fonts.packages = with pkgs; [
|
||||||
name = "Linux Libertine O";
|
atkinson-hyperlegible
|
||||||
};
|
];
|
||||||
|
|
||||||
sansSerif = {
|
|
||||||
package = pkgs.atkinson-hyperlegible;
|
|
||||||
name = "Atkinson Hyperlegible";
|
|
||||||
};
|
|
||||||
|
|
||||||
monospace = {
|
|
||||||
package = pkgs.nerd-fonts.departure-mono;
|
|
||||||
name = "Departure Mono Nerd Font";
|
|
||||||
};
|
|
||||||
|
|
||||||
emoji = {
|
|
||||||
package = pkgs.noto-fonts-emoji;
|
|
||||||
name = "Noto Color Emoji";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
home-manager.users.jade = {pkgs, ...}: {
|
home-manager.users.jade = {pkgs, ...}: {
|
||||||
stylix.targets = {
|
home.packages = with pkgs; [
|
||||||
firefox = {
|
gtk-engine-murrine
|
||||||
profileNames = ["jade"];
|
gruvbox-dark-gtk
|
||||||
};
|
gruvbox-dark-icons-gtk
|
||||||
helix.enable = false;
|
];
|
||||||
btop.enable = false;
|
|
||||||
nushell.enable = false;
|
|
||||||
starship.enable = false;
|
|
||||||
kitty.enable = false;
|
|
||||||
dunst.enable = false;
|
|
||||||
wofi.enable = false;
|
|
||||||
};
|
|
||||||
gtk = {
|
gtk = {
|
||||||
enable = true;
|
enable = true;
|
||||||
cursorTheme = {
|
cursorTheme = {
|
||||||
|
|
@ -45,10 +21,24 @@
|
||||||
name = "phinger-cursors";
|
name = "phinger-cursors";
|
||||||
size = 30;
|
size = 30;
|
||||||
};
|
};
|
||||||
|
font = {
|
||||||
|
package = pkgs.atkinson-hyperlegible;
|
||||||
|
name = "Atkinson Hyperlegible";
|
||||||
|
size = 11.5;
|
||||||
|
};
|
||||||
iconTheme = {
|
iconTheme = {
|
||||||
package = pkgs.gruvbox-dark-icons-gtk;
|
package = pkgs.gruvbox-dark-icons-gtk;
|
||||||
name = "gruvbox-dark-icons";
|
name = "gruvbox-dark-icons";
|
||||||
};
|
};
|
||||||
|
theme = {
|
||||||
|
package = pkgs.gruvbox-dark-gtk;
|
||||||
|
name = "gruvbox-dark";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
qt = {
|
||||||
|
enable = true;
|
||||||
|
platformTheme.name = "gtk";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
3
modules/graphics.nix
Normal file
3
modules/graphics.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{...}: {
|
||||||
|
hardware.graphics.enable = true;
|
||||||
|
}
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
{...}: {
|
|
||||||
imports = [
|
|
||||||
./firewall.nix
|
|
||||||
./hosts.nix
|
|
||||||
./eduroam.nix
|
|
||||||
./dispatchers
|
|
||||||
];
|
|
||||||
networking.networkmanager.enable = true;
|
|
||||||
networking.networkmanager.wifi.backend = "wpa_supplicant";
|
|
||||||
|
|
||||||
systemd.services."NetworkManager-wait-online".enable = false;
|
|
||||||
services.mullvad-vpn.enable = true;
|
|
||||||
home-manager.users.jade = {pkgs, ...}: {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
networkmanagerapplet
|
|
||||||
mullvad-vpn
|
|
||||||
macchanger
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
||||||
{pkgs, ...}: let
|
|
||||||
addNuShebang = path:
|
|
||||||
builtins.concatStringsSep "\n\n" [
|
|
||||||
"#!${pkgs.nushell}/bin/nu"
|
|
||||||
(builtins.readFile path)
|
|
||||||
];
|
|
||||||
in {
|
|
||||||
networking.networkmanager.dispatcherScripts = [
|
|
||||||
{
|
|
||||||
type = "basic";
|
|
||||||
source = pkgs.writeText "dispatcher" (addNuShebang ./dispatcher.nu);
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
environment.etc = with builtins; (
|
|
||||||
listToAttrs (
|
|
||||||
map (v: {
|
|
||||||
name = "networkhooks/${v}";
|
|
||||||
value = {
|
|
||||||
text = addNuShebang ./hooks/${v};
|
|
||||||
mode = "0755";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
(attrNames (readDir ./hooks))
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
{...}: {
|
|
||||||
networking.hosts = {
|
|
||||||
"127.0.0.1" = [
|
|
||||||
"www.tiktok.com"
|
|
||||||
"www.twitter.com"
|
|
||||||
"www.instagram.com"
|
|
||||||
"www.facebook.com"
|
|
||||||
"www.snapchat.com"
|
|
||||||
|
|
||||||
"tiktok.com"
|
|
||||||
"twitter.com"
|
|
||||||
"instagram.com"
|
|
||||||
"facebook.com"
|
|
||||||
"snapchat.com"
|
|
||||||
|
|
||||||
"google-analytics.com"
|
|
||||||
"stats.g.doubleclick.net"
|
|
||||||
"googleadservices.com"
|
|
||||||
"googletagmanager.com"
|
|
||||||
"googletagservices.com"
|
|
||||||
"googlesyndication.com"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
{
|
|
||||||
rs-programs,
|
|
||||||
niri,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
nix = {
|
|
||||||
extraOptions = ''
|
|
||||||
experimental-features = nix-command flakes
|
|
||||||
keep-outputs = true
|
|
||||||
keep-derivations = true
|
|
||||||
'';
|
|
||||||
gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "weekly";
|
|
||||||
options = "--delete-older-than 60d";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nixpkgs = {
|
|
||||||
config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
permittedInsecurePackages = [
|
|
||||||
"electron-27.3.11"
|
|
||||||
"nodejs-16.20.0"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
overlays = [rs-programs niri.overlays.niri];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{pkgs, ...}: {
|
{...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./helix.nix
|
./helix.nix
|
||||||
./nu.nix
|
./nu.nix
|
||||||
|
|
@ -7,7 +7,6 @@
|
||||||
./git.nix
|
./git.nix
|
||||||
./mprocs.nix
|
./mprocs.nix
|
||||||
./btop.nix
|
./btop.nix
|
||||||
./sudo.nix
|
|
||||||
];
|
];
|
||||||
programs.mosh.enable = true;
|
programs.mosh.enable = true;
|
||||||
programs.bat.enable = true;
|
programs.bat.enable = true;
|
||||||
|
|
@ -15,6 +14,4 @@
|
||||||
programs.carapace.enable = true;
|
programs.carapace.enable = true;
|
||||||
programs.direnv.enable = true;
|
programs.direnv.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
users.defaultUserShell = pkgs.nushell;
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{...}: {
|
|
||||||
nixpkgs.config.packageOverrides = pkgs: {
|
|
||||||
sudo = pkgs.sudo.override {withInsults = true;};
|
|
||||||
};
|
|
||||||
security.sudo.extraConfig = "Defaults insults";
|
|
||||||
}
|
|
||||||
|
|
@ -1,4 +1,10 @@
|
||||||
{config, ...}: let
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
# generate shell command options for kmscon fom an attrset
|
||||||
generateOptions = with builtins; (
|
generateOptions = with builtins; (
|
||||||
opts:
|
opts:
|
||||||
toString (
|
toString (
|
||||||
|
|
@ -7,6 +13,26 @@
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
# generate a hexadecimal number lookup table to get integers from them
|
||||||
|
hexLookupTable = with lib; (listToAttrs (genList (i: {
|
||||||
|
name = let
|
||||||
|
r = toHexString i;
|
||||||
|
in (
|
||||||
|
# pad with 0 in front if only 1 digit
|
||||||
|
if (stringLength r) == 1
|
||||||
|
then "0${r}"
|
||||||
|
else r
|
||||||
|
);
|
||||||
|
value = toString i;
|
||||||
|
})
|
||||||
|
256));
|
||||||
|
# "parse" hex color strings and convert them to kmscon options
|
||||||
|
hexToOpt = with lib; (color:
|
||||||
|
concatStringsSep "," [
|
||||||
|
(getAttr (substring 1 2 (toUpper color)) hexLookupTable)
|
||||||
|
(getAttr (substring 3 2 (toUpper color)) hexLookupTable)
|
||||||
|
(getAttr (substring 5 2 (toUpper color)) hexLookupTable)
|
||||||
|
]);
|
||||||
in {
|
in {
|
||||||
# TODO: global colorscheme vars for everything
|
# TODO: global colorscheme vars for everything
|
||||||
console.colors = [
|
console.colors = [
|
||||||
|
|
@ -30,10 +56,37 @@ in {
|
||||||
|
|
||||||
services.kmscon = {
|
services.kmscon = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
fonts = [
|
||||||
|
{
|
||||||
|
name = "Departure Mono Nerd Font";
|
||||||
|
package = pkgs.nerd-fonts.departure-mono;
|
||||||
|
}
|
||||||
|
];
|
||||||
extraConfig = "font-size=14";
|
extraConfig = "font-size=14";
|
||||||
|
# extraOptions = "--term xterm-256color";
|
||||||
extraOptions = generateOptions {
|
extraOptions = generateOptions {
|
||||||
xkb-layout = config.services.xserver.xkb.layout;
|
xkb-layout = config.services.xserver.xkb.layout;
|
||||||
xkb-variant = config.services.xserver.xkb.variant;
|
xkb-variant = config.services.xserver.xkb.variant;
|
||||||
|
|
||||||
|
palette = "custom";
|
||||||
|
palette-foreground = hexToOpt "#ebdbb2";
|
||||||
|
palette-background = hexToOpt "#282828";
|
||||||
|
palette-black = hexToOpt "#282828";
|
||||||
|
palette-red = hexToOpt "#cc241d";
|
||||||
|
palette-green = hexToOpt "#98971a";
|
||||||
|
palette-yellow = hexToOpt "#d79921";
|
||||||
|
palette-blue = hexToOpt "#458588";
|
||||||
|
palette-magenta = hexToOpt "#b16286";
|
||||||
|
palette-cyan = hexToOpt "#689d6a";
|
||||||
|
palette-light-grey = hexToOpt "#a89984";
|
||||||
|
palette-dark-grey = hexToOpt "#928374";
|
||||||
|
palette-light-red = hexToOpt "#fb4934";
|
||||||
|
palette-light-green = hexToOpt "#b8bb26";
|
||||||
|
palette-light-yellow = hexToOpt "#fabd2f";
|
||||||
|
palette-light-blue = hexToOpt "#83a598";
|
||||||
|
palette-light-magenta = hexToOpt "#d3869b";
|
||||||
|
palette-light-cyan = hexToOpt "#8ec07c";
|
||||||
|
palette-white = hexToOpt "#ebdbb2";
|
||||||
};
|
};
|
||||||
hwRender = true;
|
hwRender = true;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
16
modules/template.nix
Normal file
16
modules/template.nix
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.jade.NAME;
|
||||||
|
in
|
||||||
|
with lib; {
|
||||||
|
options.jade.NAME = {
|
||||||
|
enable = mkEnableOption "Enable the module";
|
||||||
|
};
|
||||||
|
config =
|
||||||
|
mkIf cfg.enable {
|
||||||
|
};
|
||||||
|
}
|
||||||
56
modules/utils.nix
Normal file
56
modules/utils.nix
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
}: rec {
|
||||||
|
# taken from https://github.com/NixOS/nixpkgs/blob/3650808d85dccbfa3be3d785dfd3ce33a757bd2c/pkgs/build-support/trivial-builders/default.nix#L335
|
||||||
|
writeNuShellApplication = {
|
||||||
|
name,
|
||||||
|
text,
|
||||||
|
runtimeInputs ? [],
|
||||||
|
meta ? {},
|
||||||
|
checkPhase ? null,
|
||||||
|
}:
|
||||||
|
writeTextFile {
|
||||||
|
inherit name meta;
|
||||||
|
executable = true;
|
||||||
|
destination = "/bin/${name}";
|
||||||
|
allowSubstitutes = true;
|
||||||
|
preferLocalBuild = false;
|
||||||
|
text =
|
||||||
|
''
|
||||||
|
#!${pkgs.nushell}
|
||||||
|
''
|
||||||
|
+ lib.optionalString (runtimeInputs != []) ''
|
||||||
|
|
||||||
|
$env.PATH = ($env.PATH | split row (char esep) | prepend '${lib.makeBinPath runtimeInputs}');
|
||||||
|
''
|
||||||
|
+ ''
|
||||||
|
|
||||||
|
${text}
|
||||||
|
'';
|
||||||
|
|
||||||
|
checkPhase =
|
||||||
|
# GHC (=> shellcheck) isn't supported on some platforms (such as risc-v)
|
||||||
|
# but we still want to use writeShellApplication on those platforms
|
||||||
|
if checkPhase == null
|
||||||
|
then ''
|
||||||
|
runHook preCheck
|
||||||
|
|
||||||
|
nu -c "nu-check -d $target"
|
||||||
|
|
||||||
|
runHook postCheck
|
||||||
|
''
|
||||||
|
else checkPhase;
|
||||||
|
};
|
||||||
|
packageNushellApplication = {
|
||||||
|
name,
|
||||||
|
path,
|
||||||
|
runtimeInputs ? [],
|
||||||
|
meta ? {},
|
||||||
|
checkPhase ? null,
|
||||||
|
}:
|
||||||
|
writeNuShellApplication {
|
||||||
|
inherit name runtimeInputs meta checkPhase;
|
||||||
|
text = builtins.readFile path;
|
||||||
|
};
|
||||||
|
}
|
||||||
3363
other/assets/logo_linux_clut224.ppm
Normal file
3363
other/assets/logo_linux_clut224.ppm
Normal file
File diff suppressed because it is too large
Load diff
|
Before Width: | Height: | Size: 8.4 MiB After Width: | Height: | Size: 8.4 MiB |
22
other/scripts/networkhooks/WIFIonICE.nu
Normal file
22
other/scripts/networkhooks/WIFIonICE.nu
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
#! /usr/bin/env nix-shell
|
||||||
|
#! nix-shell -i bash -p curl htmlq
|
||||||
|
|
||||||
|
# echo "Fetching cookie and CSRF token..."
|
||||||
|
# form=$(curl --silent --location --junk-session-cookies --cookie-jar /tmp/wifionice "https://login.wifionice.de/en/" --resolve login.wifionice.de:443:10.101.64.10 -i | htmlq "input")
|
||||||
|
|
||||||
|
# keys=$(htmlq "input" --attribute "name" <<< "$form")
|
||||||
|
# values=$(htmlq "input" --attribute "value" <<< "$form")
|
||||||
|
# payload=$(paste --delimiters="=" <(echo "$keys") <(echo "$values") | tr "\n" "&")
|
||||||
|
|
||||||
|
# echo "Payload: \"$payload\""
|
||||||
|
# echo "POSTing payload..."
|
||||||
|
|
||||||
|
# curl --cookie /tmp/wifionice "https://login.wifionice.de/en/" --resolve login.wifionice.de:443:10.101.64.10 -d "$payload"
|
||||||
|
|
||||||
|
def main [
|
||||||
|
interface: string
|
||||||
|
type: string
|
||||||
|
] {
|
||||||
|
let form = curl --silent --location --junk-session-cookies --cookie-jar /tmp/wifionice 'https://login.wifionice.de/en/' --resolve 'login.wifionice.de:443:10.101.64.10' -i | htmlq 'input';
|
||||||
|
# TODO
|
||||||
|
}
|
||||||
7
todo.md
Normal file
7
todo.md
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
# TODOs
|
||||||
|
|
||||||
|
- add rofi thingy for editing rust stuff (with nix shell integration) or config
|
||||||
|
- project manager rofi script for opening tools in shell without open terminal
|
||||||
|
- sps rofi integration
|
||||||
|
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue