Compare commits

...

5 commits

Author SHA1 Message Date
Spectre
d0cfc40985 pad 2025-03-16 22:29:21 +01:00
Spectre
b680a9fb53 changes 2025-03-16 19:17:31 +01:00
Spectre
d185bdd9aa pad 2025-03-16 19:17:05 +01:00
Spectre
597bd5cc75 pad 2025-03-16 00:26:15 +01:00
Spectre
7c51db8359 lilith-pad 2025-03-16 00:08:37 +01:00
12 changed files with 179 additions and 42 deletions

View file

@ -56,21 +56,17 @@
} @ inputs: let
inherit (nixpkgs) lib;
systemFromHardwareConf =
hostname:
let
hardware = import ./hosts/${hostname}/hardware-configuration.nix;
args = builtins.functionArgs hardware // { lib.mkDefault = lib.id; };
in
systemFromHardwareConf = hostname: let
hardware = import ./hosts/${hostname}/hardware-configuration.nix;
args = builtins.functionArgs hardware // {lib.mkDefault = lib.id;};
in
(hardware args).nixpkgs.hostPlatform;
importNixpkgs = system: nixpkgs:
let
config.allowUnfreePredicate =
pkg:
builtins.elem (lib.getName pkg) (import ./unfree.nix).allowed;
in
import nixpkgs { inherit system config; };
importNixpkgs = system: nixpkgs: let
config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) (import ./unfree.nix).allowed;
in
import nixpkgs {inherit system config;};
makeHost = host: system:
lib.nixosSystem {
@ -83,14 +79,18 @@
./system
{networking.hostName = host;}
./home
./home
];
};
in {
nixosConfigurations = lib.pipe ./hosts [
builtins.readDir
(lib.filterAttrs (_: type: type == "directory"))
# (lib.filterAttrs (name: _: builtins.pathExists ./hosts/${name}/default.nix && builtins.pathExists ./hosts/${name}/hardware.nix && builtins.pathExists ./hosts/${name}/config.nix))
(lib.filterAttrs (
name: _:
builtins.pathExists ./hosts/${name}/default.nix
&& builtins.pathExists ./hosts/${name}/hardware-configuration.nix
))
(builtins.mapAttrs (name: _: makeHost name (systemFromHardwareConf name)))
];
};

View file

@ -1,4 +1,4 @@
{ sops-nix, stylix, ...}: {
{sops-nix, ...}: {
imports = [
sops-nix.homeManagerModules.sops
@ -9,13 +9,14 @@
./env.nix
./firefox
#zen-browser (WIP)
# ./firefox
./alacritty.nix
./clipman.nix
./common.nix
./direnv.nix
# ./firefox.nix
./firefox.nix
./fzf.nix
./git.nix
./gpg.nix
@ -25,7 +26,7 @@
./sops.nix
./ssh.nix
./stylix.nix
./thunderbird.nix
# ./thunderbird.nix
./zsh
];
}

View file

@ -1,5 +1,6 @@
{
pkgs,
lib,
...
}: {
programs.helix = {
@ -31,6 +32,10 @@
];
separator = "|";
};
inline-diagnostics = {
cursor-line = "hint";
other-lines = "warning";
};
lsp = {
display-messages = true;
display-inlay-hints = true;
@ -48,5 +53,51 @@
};
};
};
languages = {
language-server = {
rust-analyzer = {
config = {
checkOnSave.command = "clippy";
cargo.features = "all";
cargo.unsetTest = [];
};
};
pyright = {
command = "${pkgs.pyright}/bin/pyright-langserver";
args = ["--stdio"];
config = {};
};
nil.command = "${pkgs.nil}/bin/nil";
bash-language-server = {
command = "${pkgs.bash-language-server}/bin/bash-language-server";
args = ["start"];
};
};
language = [
{
name = "python";
auto-format = true;
language-servers = [{name = "pyright";}];
formatter = {
command = "/bin/sh";
args = [
"-c"
"${pkgs.isort}/bin/isort - | ${pkgs.black}/bin/black -q -l 120 -C -"
];
};
}
{
name = "nix";
auto-format = true;
language-servers = [{name = "nil";}];
formatter = {
command = lib.getExe pkgs.nixfmt-rfc-style;
args = ["-s"];
};
}
];
};
};
}

View file

@ -1,20 +1,23 @@
{lib, config, ... }: {
{
lib,
config,
...
}: {
data = {
directories = [
".config/syncthing"
".config/sops"
".config/keepassxc"
".config/obsidian"
".config/vesktop"
".gnupg"
".ssh"
".thunderbird"
".mozilla"
".zen"
"nixos"
"sync"
"obsidian"
"code"
".keepass"
".local/share/PrismLauncher"
@ -28,11 +31,9 @@
cache = {
directories = [
".cache/nix"
".cache/spotify"
".cache/keepassxc"
".cargo"
".local/state/wireplumber"
"tmp"
];
files = [];
};

View file

@ -0,0 +1,17 @@
{lib, ...}: let
mkHostOverride = lib.mkOverride 75;
in {
system.stateVersion = "24.11";
desktop.enable = true;
gaming.enable = false;
nfs.client.enable = true;
auto_styling.enable = true;
home-manager.users."lilith".wayland.windowManager.hyprland.settings = {
monitor = mkHostOverride [
"eDP-1, 1920x1080, 0x0, 1"
", perferred, auto, 1"
];
};
}

View file

@ -0,0 +1,38 @@
# 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" "usb_storage" "sd_mod" "sdhci_pci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/080fa116-424e-4079-a2a6-658a230e2721";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/40E8-A12D";
fsType = "vfat";
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -0,0 +1,40 @@
user:
password: ENC[AES256_GCM,data:k4BAMMKgSsNAnCy5RJfhQPJG4P49hHTFVJDvc8ArqY3VeEH60XPK+m+b8vAHc4nUCt7dNRxuMG365/9jJhZI+DiX6614fe+Iug==,iv:PmNOUnu2eBhdtWB4Gkpj4RbHwV5Ac/UPJSF0XifWSzE=,tag:MeoLAKHM0hiylaFBOqpNPw==,type:str]
ssh:
public: ENC[AES256_GCM,data:4bA7PVMd8UY1D93A85S6yPIIbAt4FfbQN72lOZ3Pf+su4MGQvz9UcN6a+b+p/Qo8us4sjXutfdPiv5qDEnsDvc0uuS9R8avSw/vqzfF4rQ7NAn59/fjAJwcaPwwTqsTiBXFhcOs=,iv:qZKApe16ElXdw8MOePyvo1wqpXnTD651w0122omu+ik=,tag:P9fxALfO74yK8aSazgX68g==,type:str]
private: ENC[AES256_GCM,data:INtOHRiH+lTGH6zTtjzO/VoYsNRVFBDaWpTjAnHEv+YgXAslHTF7AvFoM9XKvjLCe3x3celD8r4yd//vof6WRuGpr4foIN09CXS0VO0fEkcNo224ajNc+FGEUNzeWjCqDW8Jvlyq7tEE+ywjVM4MF/IeyHM3Oh93gTprq+ZjzXYfXuqElVzlcLJaOGIAXmqWqUtzmGh7xx2TXfapkCi8oHm3cx7/A8FG7kBxyCcJ/3aIzrWZo5zHdts8l+qB5hc86vwHVZ3WVBfuXKpTaXCzQHRRaw7vaIP5O2V8bpU8p56TxYDl9N8GrbF5S38AxwtW+FHZKLXD33I3uQk4qztpvT8AvStnMM4x2D8JIhWN7LYmbMFuJng5UfzwLveIVPl5MIHAtVvk2W/QTw/5+kbqHIud3UWv5o/vbnm8l88q5WlO0U9CgRmV0FPTK/hdEj+tEUR6AzFi/Ea6Qiv0BGVGLOHWYszfXzKA1mss+MteR9k+PQqx4wsQM9nWnMOTQGf99RMyeHG1u68gsKy55dvEMXx0lo2iUcdBttVHZaUP5baiOhr6VS74rBxpeLBN03Vzj6A6fG1b2u6V5vSZ6sC1MFlgL1gjwLzGlqi3thVAV9g=,iv:CHie+Sns7HefRwBqdo2Gw1UexHS+W1y6t4etbHA//5Y=,tag:X3U1+wHVzRBUOl8sNo8jtg==,type:str]
syncthing:
cert.pem: ENC[AES256_GCM,data:zVGfurUvMA28jtWqBBHmlz+ujHGd9/ogZYLL1AMb8njzi5BJZHW0+QaHhLqjw7BKNs9CDmpIhIytvkY9WFoQ6zJe477ndXr7lPDdpoLkEDCZKXypVjAOuqHXTXJ44RI6hU87347bq2BP1Ph9847hryA4iWicdhYLj0SrFcQVu2MnGWJZ75k1eUqELjgT6rqmR7jzRs0Z4mGaGRwrG1Bi76mkfrOe0SVV6iE8Kk3U3iYDcqraWbS3Y3Fdr+UgPuK7uJ5RO5MFMjS1CHmUvo+K/tgcH74r2NS7FQBHnG5Ec0MMW1r08W5odd93oAJUC/PWYUW4giSahp1G+GyGMO3NSmTMW5PJ524I8izRRVg2jO9usv6ukxC9oUV4DIz9kpj9yVnHA7MJCw6yJTveLQMumYxKyorQUxkPDAyYty56D56mOnaxgRT7GsDkuj6VJ5aujqvzUq1f7bwxe43g75IY5BQpzWOufsCvnGt76dmZw3+gdsw4noQEv+Hm3FOvLnBA8H0hzDAtIs0Yy4GdviZj0687ZqAdM8y6+hOvC6UxSm5OkplCAi2E5yte5OS6csvMWR2atT6D13jZFU3PL7aIw0Z8y2Gx/jVlr68UHOn6jvonQzc2+fZmcQJL8aHW6jsDroIYHbl98OAFg+WE/Yp/lV3ffczhfzoH25qL8AHiHXwsBPOVkkpFSBxrNO2XFeDIEkl73amjCvkM1X3AxHBTgCgK2Y2kkvpwOiwUQdt5/YcLGgIWkpHpPDfGiqOkkMsWZbGcGPQtkUnhu16ul4+NUFDwiE2CYaw5+cPpdLq8DWv//V0iKcHP4jinYM+ZaUIh1loupdinhGKIeX+xNFcf9kB6dcdjR7TliN7gb5ekynSxjHM3i3EFp47bhkMbQpLVzOKZ8vgeb/eVU+t97lPNxhioHAeRPwIoxq8lnLHhY7p7AN0gzsfOeDKz2BuxaaFI0DCg63aJC2nHpvy+5lWtWYto6rUB2q4JTA9oKm6RLDcDaYTLfpQtM9sdH9N5TDsCukPVm+e6gr9AbjG8IFt9QUGb0UxzkqY20bI=,iv:XIhlEi02Il+RdKPjqRIPCg1ooij8ipTbbUZlupijTVg=,tag:7mU3OWolhHxtsN6rHs8vIQ==,type:str]
key.pem: ENC[AES256_GCM,data:fo8ejY1p+oBwy4L5WiecLQLkwKVdVEi7fzKb8/ACD+7qKXMk+MChW1MeUrFjWCHtHIdw3Ld7SrCmEC/3cqL87aFiZFBOv/cV4Jkvy1kEmZLuKo8wM5Vn+7Ec4WVDAbqhiT5MEgaWHdSgmv2kvkeUnH4LJSx9uohRTgKlO0eIqY9aXO5PqZEPLuHvvTrUi1OCvadaAsKHx3yqTm2tuqK7mPzOL2A4WLQRMKSlQIbzgTz2CShql8D6/crzIAoQVnXf+/KbqzRw3NKtIzQA0aSx1tA4DjPSugWkx+sqjUShYOfZ8Rnbto5/Nbmk4QTaCkvsOli4lazGAKmPtMVBXfbFvZUXiZ/QoawVmsw1MMCCtaRpV7cEAKHJCZ+lRA4CUoJm,iv:JQHPAdW1gJxpZaBcY/BdRBweEYAAj0ZWwAeHFR4J5zo=,tag:i5VWdxTu+Wez3poflwGiog==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1mqw75xvd2gnhx2wsmkr8yctegjfym6xkypwjh82s3yws2glk4vms3cxqaz
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBKRWRJOWZQY1ZpWGQ4ZXND
RC83eEZGZkVjelkxZDNkdlMvODN6a0dnWFRRCmxGT0U1dWJ1bWJDQVRHYmlQMHZQ
Z0Rza3dYNi9iTFZLSUVuL0UwUzVZNk0KLS0tIDd2eDNWYjd5MC9mcTd3clFBdmpY
OW5yTndZYU16NTYrdDZRUjZJS25VbEUKmD4HAa0e2p8SRw5mlzgh+ByFqCDhj8wv
QumEed0Hb9jve8aO8K9MEayxi5jIULFYuYWD8D1RF/74UGrgBTAykA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-03-15T23:51:41Z"
mac: ENC[AES256_GCM,data:ey5F1mZf8Ndm+9hJo38X6dhD6cVZ1T+YjtHSQsCjzpT9va8/zmsic5VMS5rlxCsR7TtiJG+sN6xQ9rsvQjE/mCSb8raQTCRa0XufpO7Yqekwyi8fOWdVf6tBIbdSOkJDARD4AVmmGRZWpTHAX2oMnH/rYT0+MOZQ6Q6LQ7lumq8=,iv:6hntrUy0jlkdp5MIV6GNvGbNYFrcOgKoWaIU/vORg88=,tag:7rcHIuubqZk1RlppgXYiZQ==,type:str]
pgp:
- created_at: "2025-03-15T23:51:35Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hF4DCgMW7d7co2gSAQdAbaGKvZ8a7yxQcjrCPON8SFJC1rlZDdKZfZ9LXQubbkMw
e94lKw5Tq2cn5iwGgRvYG6CmxLXmX6rk9ylVyKPWzHPjiA3Pk1eiTZ6neStFoKWG
1GgBCQIQjsaVzLGjQWWxc87gRkwpTHTS2GCSnUz06E4gD42JuUKO5Au/IHWwLmua
HDrwSNqAlns1mALRm7Nb0R68EFouc532WQdpUK1F8T0454wHyOnMvE1fzBkiGSrq
9g50Dinv/s3ALQ==
=Sk/E
-----END PGP MESSAGE-----
fp: 3586D8D6689B9C9ECD598C588712A0F317C37175
unencrypted_suffix: _unencrypted
version: 3.9.2

View file

@ -1,3 +0,0 @@
{
system = "x86_64-linux";
}

View file

@ -1,22 +1,20 @@
{ config, lib, ...}: {
{lib, ...}: let
mkHostOverride = lib.mkOverride 75;
in {
system.stateVersion = "24.11";
desktop.enable = true;
gaming.enable = true;
nfs.client.enable = true;
auto_styling.enable = true;
home-manager.users."lilith".wayland.windowManager.hyprland.settings = {
input.kb_layout = lib.mkForce "us";
input.kb_layout = mkHostOverride "us";
monitor = lib.mkForce [
monitor = mkHostOverride [
"DP-3, 3840x2160, 0x0, 1.5"
"DP-4, 2560x1440, 2560x0, 1"
",preferred,auto,1"
];
};
}

View file

@ -1,4 +1,4 @@
{ zen-browser, ...}: {
{...}: {
imports = [
./audio.nix
./bluetooth.nix
@ -15,6 +15,5 @@
./syncthing.nix
./users.nix
./zsh.nix
zen-browser.nixosModules.zen-browser
];
}

View file

@ -1,4 +1,4 @@
{ lib, ...}: {
{...}: {
nix = {
gc = {
automatic = true;
@ -12,8 +12,4 @@
trusted-users = ["root" "@wheel"];
};
};
# nixpkgs.config.allowUnfreePredicate = (pkg: builtins.elem (lib.getName pkg) [
# "steam"
# ]);
}

View file

@ -3,5 +3,4 @@
./core
./optional
];
# system.stateVersion = "24.11";
}