Compare commits

...

19 Commits

Author SHA1 Message Date
0698de4642 update 2025-10-05 10:10:35 +02:00
24fb89bdea update 2025-09-25 13:37:50 +02:00
9063929477 update 2025-09-02 19:43:06 +02:00
128e3b0dc1 working bridge configuration 2025-07-25 16:55:32 +02:00
e2290b064e add qemu bridge configuration 2025-07-17 12:18:57 +02:00
cb3d05058d update 2025-07-17 12:10:02 +02:00
182c35727e update 2025-06-17 17:05:05 +02:00
978920355c update 2025-06-12 23:11:10 +02:00
fcd8c7b029 update & add git rebase configuration 2025-06-01 16:30:46 +02:00
0d2e8c0c53 add makemkv 2025-05-03 10:46:50 +02:00
d3a815834c update 2025-04-19 12:15:35 +02:00
a37a500200 update flake 2025-03-22 15:03:14 +01:00
2ca4fd81c5 move flatpak to desktop configuration 2025-02-17 09:21:23 +01:00
817f4608e0 basic nas configuration 2025-02-17 09:18:41 +01:00
3c0925a83d move nvidia.nix to hardware folder 2025-02-17 09:09:30 +01:00
215b8987e5 change naming to device folder for device specific configuration 2025-02-17 09:07:20 +01:00
6dc8e03bb9 add zfs volume description to backup-target 2025-02-17 09:04:42 +01:00
21b5233077 format out network shares 2025-02-14 22:30:03 +01:00
817597d060 switch back to latest nvidia drivers 2025-02-14 16:37:37 +01:00
12 changed files with 139 additions and 35 deletions

View File

@@ -15,5 +15,13 @@
];
};
fileSystems."/mnt/backup" =
{
#depends = [ "/" ];
device = "BACKUP/backup";
fsType = "zfs";
options = [ "nofail" ];
};
networking.firewall.allowedTCPPorts = [ 22 ];
}

View File

@@ -21,21 +21,6 @@
};
# leftover from the original config
boot.loader.efi.canTouchEfiVariables = true;
# mount network shares
fileSystems."/mnt/nas/private" = {
device = "dashboard.omv:/ShatteredMINT";
fsType = "nfs";
options = [ "x-systemd.automount" "noauto" ];
};
fileSystems."/mnt/nas/shared" = {
device = "dashboard.omv:/default-nas";
fsType = "nfs";
options = [ "x-systemd.automount" "noauto" ];
};
# Set your time zone.
time.timeZone = "Europe/Berlin";
@@ -90,9 +75,6 @@
# Enable touchpad support (enabled default in most desktopManager).
# services.libinput.enable = true;
# enable flatpak
services.flatpak.enable = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [

View File

@@ -11,7 +11,7 @@
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.kernelModules = [ "kvm-amd" "sg" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
@@ -48,7 +48,7 @@
# (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.useDHCP = lib.mkDefault true;
# networking.interfaces.enp4s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";

61
devices/nas.nix Normal file
View File

@@ -0,0 +1,61 @@
# 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 = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "NIX_CONV_POOL/root";
fsType = "zfs";
};
fileSystems."/nix" =
{ device = "NIX_CONV_POOL/nix";
fsType = "zfs";
};
fileSystems."/var" =
{ device = "NIX_CONV_POOL/var";
fsType = "zfs";
};
fileSystems."/home" =
{ device = "NIX_CONV_POOL/home";
fsType = "zfs";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/334B-15CD";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
#swapDevices =
# [ { device = "/dev/disk/by-uuid/b3e53298-fdcf-41c5-b80b-6f1ef1dceeae"; }
# ];
networking.hostName = "nix-nas"; # Define your hostname.
networking.hostId = "00000003";
# Pick only one of the below networking options.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
# 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.enp4s0f3u1u4u1.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
}

12
flake.lock generated
View File

@@ -7,11 +7,11 @@
]
},
"locked": {
"lastModified": 1739470101,
"narHash": "sha256-NxNe32VB4XI/xIXrsKmIfrcgtEx5r/5s52pL3CpEcA4=",
"lastModified": 1759573136,
"narHash": "sha256-ILSPD0Dm8p0w0fCVzOx98ZH8yFDrR75GmwmH3fS2VnE=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "5031c6d2978109336637977c165f82aa49fa16a7",
"rev": "5f06ceafc6c9b773a776b9195c3f47bbe1defa43",
"type": "github"
},
"original": {
@@ -22,11 +22,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1739214665,
"narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=",
"lastModified": 1759381078,
"narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=",
"owner": "NixOs",
"repo": "nixpkgs",
"rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a",
"rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee",
"type": "github"
},
"original": {

View File

@@ -20,15 +20,17 @@
system = "x86_64-linux";
specialArgs = inputs;
modules = [
./hardware/desk.nix
./devices/desk.nix
./hardware/nvidia.nix
./configuration.nix
./nvidia.nix
./plasma.nix
./network-shares.nix
./backup-target.nix
./users/shatteredmint.nix
./qemu-bridges.nix
];
};
@@ -37,12 +39,25 @@
specialArgs = inputs;
modules = [
./hardware/conv.nix
./devices/conv.nix
./configuration.nix
./plasma.nix
./users/shatteredmint.nix
./network-shares.nix
];
};
nix-nas = lib.nixosSystem {
system = "aarch64-linux";
specialArgs = inputs;
modules = [
./devices/nas.nix
./configuration.nix
./users/shatteredmint.nix
];
};
};

View File

@@ -19,6 +19,6 @@
nvidiaSettings = true;
# set specific version
package = config.boot.kernelPackages.nvidiaPackages.stable;
package = config.boot.kernelPackages.nvidiaPackages.latest;
};
}

17
network-shares.nix Normal file
View File

@@ -0,0 +1,17 @@
{ config, lib, pkgs, ... }:
{
# mount network shares
fileSystems."/mnt/nas/private" = {
device = "dashboard.omv:/ShatteredMINT";
fsType = "nfs";
options = [ "x-systemd.automount" "noauto" ];
};
fileSystems."/mnt/nas/shared" = {
device = "dashboard.omv:/default-nas";
fsType = "nfs";
options = [ "x-systemd.automount" "noauto" ];
};
}

View File

@@ -12,7 +12,8 @@
pkgs.kdePackages.elisa
];
# enable flatpak
services.flatpak.enable = true;
# Enable sound.
services.pipewire = {

18
qemu-bridges.nix Normal file
View File

@@ -0,0 +1,18 @@
{ config, libs, pkgs, ... }:
{
networking.bridges.virtbr0.interfaces = [
"enp4s0"
];
boot.kernel.sysctl."net.ipv4.ip_forward" = 1;
networking.interfaces.virtbr0 = {
useDHCP = true;
};
virtualisation.libvirtd = {
enable = true;
allowedBridges = [ "virtbr0" ];
};
}

View File

@@ -6,7 +6,7 @@
users.users.shatteredmint = {
isNormalUser = true;
extraGroups = [ "wheel" "nixos-admins" ];
extraGroups = [ "wheel" "nixos-admins" "cdrom" ];
shell = pkgs.zsh;
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKT9u43WNMlu3gnu5z9Twt1vkdNdpf6REfEK/OT4qxjK shatteredmint"
@@ -33,7 +33,7 @@
ignoreAllDups = true;
};
initExtra = ''
initContent = ''
bindkey '^?' backward-delete-char
bindkey '\e[3~' delete-char
autoload -Uz vcs_info
@@ -51,6 +51,7 @@
userName = "ShatteredMINT";
extraConfig = {
init.defaultBranch = "main";
pull.rebase = true;
};
};
@@ -67,12 +68,13 @@
lazygit
veracrypt
keepassxc
yakuake
kdePackages.yakuake
cargo
zig
clang
nil
wl-clipboard
makemkv
];
home.sessionPath = [