Compare commits

...

18 commits

Author SHA1 Message Date
Schrottkatze
01e6551935
remove macbook build script 2025-03-27 20:55:20 +01:00
Schrottkatze
a1d636e330
remove graphics.nix from modules/default.nix 2025-03-27 20:52:42 +01:00
Schrottkatze
772c6311d0
remove this fucking macbook finally (it's all in vcs anyway) 2025-03-27 20:52:26 +01:00
Schrottkatze
2390273f53
too much rewriting at once... (bad idea) 2025-03-27 20:48:56 +01:00
Schrottkatze
056661f6f8
remove old template.nix 2025-03-27 20:29:14 +01:00
Schrottkatze
500c18b76a
move desktop shit again 2025-03-27 20:28:36 +01:00
Schrottkatze
df0ffea214
remove chronically ignored todo.md 2025-03-27 20:27:09 +01:00
Schrottkatze
4c996f831a
move eduroam config to correct module 2025-03-27 20:25:26 +01:00
Schrottkatze
bd29a1c80f
remove other/ dir 2025-03-27 20:24:29 +01:00
Schrottkatze
b7d7dcb75e
remove broken wifionice script to be rewritten on some longer journey 2025-03-27 20:22:29 +01:00
Schrottkatze
0bbb0aa204
rewrite networking modules 2025-03-27 20:18:54 +01:00
Schrottkatze
49298541e5
do some moving 2025-03-27 20:06:54 +01:00
Schrottkatze
9379b9c61b
remove autorandr from old laptop 2025-03-27 20:03:07 +01:00
Schrottkatze
8b6d55aad6
more themeing stuff 2025-03-27 20:02:54 +01:00
Schrottkatze
6ec141902a
remove old commented out code (pixiecore, utils, xenia kernel) 2025-03-27 19:59:26 +01:00
Schrottkatze
2de002ef1b
remove dead code 1 (old themeing code) 2025-03-27 19:57:34 +01:00
Schrottkatze
5b7e15db62
stylix (round 2) 2025-03-27 19:41:45 +01:00
Schrottkatze
63493fd366
stylix (untested) 2025-03-27 19:02:51 +01:00
74 changed files with 699 additions and 4089 deletions

View file

@ -12,29 +12,10 @@
with lib;
with builtins; {
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 = {
systemPackages = with pkgs; [
overskride
pulsemixer
htmlq
@ -88,18 +69,14 @@ with builtins; {
];
};
networking = {
networkmanager = {
enable = true;
};
};
hardware.graphics.enable = true;
services = {
systemd-lock-handler.enable = true;
openssh = {
enable = true;
# settings.PasswordAuthentication = false;
# settings.KbdInteractiveAuthentication = false;
settings.PasswordAuthentication = false;
settings.KbdInteractiveAuthentication = false;
};
};
@ -116,31 +93,11 @@ with builtins; {
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;
hardware = {
uinput.enable = true;
bluetooth.enable = true;
# keyboard.uhk.enable = true;
};
services.avahi = {
enable = true;
};
security.rtkit.enable = true;
@ -154,12 +111,4 @@ with builtins; {
enable = true;
algorithm = "zstd";
};
users.defaultUserShell = pkgs.nushell;
nix.gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 60d";
};
}

471
flake.lock generated
View file

@ -1,5 +1,72 @@
{
"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": {
"locked": {
"lastModified": 1742394900,
@ -73,7 +140,60 @@
"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": {
"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": {
"nixpkgs-lib": "nixpkgs-lib"
},
@ -109,6 +229,27 @@
"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": {
"locked": {
"lastModified": 1712898590,
@ -124,6 +265,87 @@
"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": {
"inputs": {
"nixpkgs": [
@ -144,6 +366,27 @@
"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": {
"flake": false,
"locked": {
@ -181,19 +424,6 @@
"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": {
"inputs": {
"niri-stable": "niri-stable",
@ -252,18 +482,16 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1687903496,
"narHash": "sha256-4PPwbFM4dNqso3zBya5rgfRvnBoIbN2J7qZ2ZpRyOUc=",
"owner": "networkException",
"lastModified": 1742806253,
"narHash": "sha256-zvQ4GsCJT6MTOzPKLmlFyM+lxo0JGQ0cSFaZSACmWfY=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "8e28b9ee431b265d1fc74b8b819ea0816344c4a1",
"rev": "ecaa2d911e77c265c2a5bac8b583c40b0f151726",
"type": "github"
},
"original": {
"owner": "networkException",
"ref": "apple-t2-init",
"repo": "nixos-hardware",
"type": "github"
"id": "nixos-hardware",
"type": "indirect"
}
},
"nixpkgs": {
@ -356,6 +584,22 @@
}
},
"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": {
"lastModified": 1726937504,
"narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=",
@ -371,18 +615,41 @@
"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": {
"inputs": {
"crane": "crane",
"fenix": "fenix",
"home-manager": "home-manager",
"lix-module": "lix-module",
"mac-brcm-fw": "mac-brcm-fw",
"niri": "niri",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_2",
"nixpkgs-stable": "nixpkgs-stable_2",
"nixpkgs-unstable-small": "nixpkgs-unstable-small",
"stylix": "stylix",
"typst-within": "typst-within"
}
},
@ -432,6 +699,41 @@
"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": {
"locked": {
"lastModified": 1681028828,
@ -462,14 +764,133 @@
"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": {
"inputs": {
"crane": "crane_2",
"fenix": "fenix_2",
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_3",
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_4",
"rust-manifest": "rust-manifest",
"systems": "systems_2"
"systems": "systems_3"
},
"locked": {
"lastModified": 1739736913,

View file

@ -6,9 +6,9 @@
nixpkgs-stable.url = "nixpkgs/nixos-24.11";
nixpkgs-unstable-small.url = "nixpkgs/nixos-unstable-small";
niri.url = "github:sodiboo/niri-flake";
typst-within = {
url = "github:schrottkatze/typst";
};
stylix.url = "github:danth/stylix";
typst-within.url = "github:schrottkatze/typst";
crane.url = "github:ipetkov/crane";
lix-module = {
url = "git+https://git.lix.systems/lix-project/nixos-module";
inputs.nixpkgs.follows = "nixpkgs";
@ -17,14 +17,6 @@
url = "github:nix-community/home-manager";
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 = {
url = "github:nix-community/fenix";
inputs.nixpkgs.follows = "nixpkgs";
@ -40,8 +32,8 @@
typst-within,
home-manager,
nixos-hardware,
mac-brcm-fw,
niri,
stylix,
fenix,
crane,
...
@ -78,6 +70,7 @@
system = "x86_64-linux";
modules = [
inputs.niri.nixosModules.niri
stylix.nixosModules.stylix
./hosts/monosodium-glutamate-g/configuration.nix
home-manager.nixosModules.home-manager
{
@ -104,6 +97,7 @@
system = "x86_64-linux";
modules = [
inputs.niri.nixosModules.niri
stylix.nixosModules.stylix
./hosts/denkbrett/configuration.nix
home-manager.nixosModules.home-manager
{
@ -123,34 +117,6 @@
}
];
};
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
];
};
};
};
}

View file

@ -1,12 +1,7 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{
config,
pkgs,
lib,
...
}: {
{pkgs, ...}: {
nixpkgs.config.permittedInsecurePackages = [
"electron-25.9.0"
"electron-27.3.11"
@ -46,7 +41,6 @@
boot.binfmt.emulatedSystems = ["aarch64-linux"];
hardware.bluetooth.enable = true;
services.blueman.enable = true;
environment.systemPackages = [

View file

@ -47,7 +47,6 @@
gnome.gnome-keyring.enable = true;
};
hardware = {
bluetooth.enable = true;
keyboard.uhk.enable = true;
enableRedistributableFirmware = true;
};

View file

@ -1,169 +0,0 @@
{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?
}

View file

@ -1,62 +0,0 @@
# 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
}

View file

@ -1,11 +0,0 @@
{
config,
pkgs,
...
}: {
imports = [
<nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>
<nixpkgs/nixos/modules/installer/cd-dvd/channel.nix>
./configuration.nix
];
}

View file

@ -12,9 +12,6 @@ tbuild:
update: update-typst-configs
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:
#!/usr/bin/env nu
let file = './modules/desktop-environment/media/typst.nix';

View file

@ -1,3 +0,0 @@
{...}: {}
# dummy

View file

@ -2,10 +2,11 @@
imports = [
./shell
./desktop
./desktop-legacy
./hardware
./firewall.nix
./desktop-environment
./net
./input
./graphics.nix
./media
./nix.nix
];
}

View file

@ -1,16 +0,0 @@
{...}: {
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;
}

View file

@ -0,0 +1,52 @@
{
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
];
};
}

View file

@ -11,10 +11,8 @@
};
};
environment.systemPackages = with pkgs; [
pavucontrol
volumeicon
playerctl
pulsemixer
helvum
];
}

View file

@ -1,60 +1,15 @@
{
config,
lib,
pkgs,
...
}:
with lib; {
{...}: {
imports = [
./gaming.nix
# TODO: more fine grained choices, not every setup needs fspy or rawtherapee
./syncthing.nix
./kdeconnect.nix
./audio.nix
./home
./dm.nix
./tlp.nix
./locale.nix
./printing.nix
./themeing.nix
./networking.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.flatpak.enable = true;
security.polkit.enable = true;
services.illum.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
];
};
services.upower.enable = true;
}

View file

@ -2,12 +2,18 @@ label {
font: 14pt "Departure Mono Nerd Font";
}
button {
border-radius: 0px;
padding: 0;
}
.background {
background-color: #1d2021;
}
.workspaces button {
border: 0px;
padding: 0 3px;
}
.workspaces button.focused {

View file

@ -19,7 +19,7 @@
command = [
"${pkgs.swaybg}/bin/swaybg"
"-i"
"${../../../../other/assets/wallpaper/wallpaper.jpg}"
"${./wallpaper.jpg}"
"-m"
"fill"
];

View file

@ -4,7 +4,10 @@
binds = {
"Print".action.screenshot = [];
"Ctrl+Print".action.screenshot-screen = [];
"Alt+Print".action.screenshot-window = [];
"Shift+Print".action.screenshot-window = [];
"Mod+S".action.screenshot = [];
"Mod+Ctrl+S".action.screenshot-screen = [];
"Mod+Shift+S".action.screenshot-window = [];
};
};
}

View file

Before

Width:  |  Height:  |  Size: 8.4 MiB

After

Width:  |  Height:  |  Size: 8.4 MiB

Before After
Before After

View file

@ -14,6 +14,7 @@
foreground = "#ebdbb2";
frame_color = "#504945";
frame_width = 2;
font = "Atkinson Hyperlegible";
};
};
};

View file

@ -1,16 +1,14 @@
{...}: {
programs.kitty = {
enable = true;
font = {
name = "Departure Mono Nerd Font";
size = 12;
};
font.size = 12;
font.name = "Departure Mono Nerd Font";
shellIntegration.enableFishIntegration = false;
keybindings = {
"ctrl+shift+n" = "new_os_window_with_cwd";
};
settings = rec {
#adjust_column_width = "70%";
adjust_column_width = "95%";
color0 = "#282828";
color8 = "#928374";
color1 = "#cc241d";

View file

@ -1,4 +1,5 @@
{...}: {
time.timeZone = "Europe/Berlin";
i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";

View file

@ -1,69 +0,0 @@
{
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
];
};
};
}

View file

@ -1,43 +1,53 @@
{
config,
lib,
pkgs,
...
}: {
config = {
fonts.packages = with pkgs; [
atkinson-hyperlegible
];
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
gtk-engine-murrine
gruvbox-dark-gtk
gruvbox-dark-icons-gtk
];
gtk = {
enable = true;
cursorTheme = {
package = pkgs.phinger-cursors;
name = "phinger-cursors";
size = 30;
};
font = {
package = pkgs.atkinson-hyperlegible;
name = "Atkinson Hyperlegible";
size = 11.5;
};
iconTheme = {
package = pkgs.gruvbox-dark-icons-gtk;
name = "gruvbox-dark-icons";
};
theme = {
package = pkgs.gruvbox-dark-gtk;
name = "gruvbox-dark";
};
{pkgs, ...}: {
stylix = {
enable = true;
polarity = "dark";
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
fonts = {
serif = {
package = pkgs.libertine;
name = "Linux Libertine O";
};
qt = {
enable = true;
platformTheme.name = "gtk";
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, ...}: {
stylix.targets = {
firefox = {
profileNames = ["jade"];
};
helix.enable = false;
btop.enable = false;
nushell.enable = false;
starship.enable = false;
kitty.enable = false;
dunst.enable = false;
wofi.enable = false;
};
gtk = {
enable = true;
cursorTheme = {
package = pkgs.phinger-cursors;
name = "phinger-cursors";
size = 30;
};
iconTheme = {
package = pkgs.gruvbox-dark-icons-gtk;
name = "gruvbox-dark-icons";
};
};
};

View file

@ -1,3 +0,0 @@
{...}: {
hardware.graphics.enable = true;
}

20
modules/net/default.nix Normal file
View file

@ -0,0 +1,20 @@
{...}: {
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
];
};
}

View file

@ -0,0 +1,27 @@
{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))
)
);
}

24
modules/net/hosts.nix Normal file
View file

@ -0,0 +1,24 @@
{...}: {
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"
];
};
}

29
modules/nix.nix Normal file
View file

@ -0,0 +1,29 @@
{
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];
};
}

View file

@ -1,4 +1,4 @@
{...}: {
{pkgs, ...}: {
imports = [
./helix.nix
./nu.nix
@ -7,6 +7,7 @@
./git.nix
./mprocs.nix
./btop.nix
./sudo.nix
];
programs.mosh.enable = true;
programs.bat.enable = true;
@ -14,4 +15,6 @@
programs.carapace.enable = true;
programs.direnv.enable = true;
};
users.defaultUserShell = pkgs.nushell;
}

6
modules/shell/sudo.nix Normal file
View file

@ -0,0 +1,6 @@
{...}: {
nixpkgs.config.packageOverrides = pkgs: {
sudo = pkgs.sudo.override {withInsults = true;};
};
security.sudo.extraConfig = "Defaults insults";
}

View file

@ -1,10 +1,4 @@
{
pkgs,
config,
lib,
...
}: let
# generate shell command options for kmscon fom an attrset
{config, ...}: let
generateOptions = with builtins; (
opts:
toString (
@ -13,26 +7,6 @@
)
)
);
# 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 {
# TODO: global colorscheme vars for everything
console.colors = [
@ -56,37 +30,10 @@ in {
services.kmscon = {
enable = true;
fonts = [
{
name = "Departure Mono Nerd Font";
package = pkgs.nerd-fonts.departure-mono;
}
];
extraConfig = "font-size=14";
# extraOptions = "--term xterm-256color";
extraOptions = generateOptions {
xkb-layout = config.services.xserver.xkb.layout;
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;
};

View file

@ -1,16 +0,0 @@
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.NAME;
in
with lib; {
options.jade.NAME = {
enable = mkEnableOption "Enable the module";
};
config =
mkIf cfg.enable {
};
}

View file

@ -1,56 +0,0 @@
{
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;
};
}

File diff suppressed because it is too large Load diff

View file

@ -1,22 +0,0 @@
#! /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
}

View file

@ -1,7 +0,0 @@
# 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