Compare commits

...

2 Commits

6 changed files with 1097 additions and 37 deletions

968
flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -27,6 +27,54 @@
sops-nix.inputs.nixpkgs.follows = "nixpkgs";
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
#### Iogamaster inputs
nixos-generators.url = "github:nix-community/nixos-generators";
nixos-generators.inputs.nixpkgs.follows = "nixpkgs";
# For nixd
flake-compat = {
url = "github:inclyc/flake-compat";
flake = false;
};
nix-darwin.url = "github:LnL7/nix-darwin";
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
impermanence.url = "github:nix-community/impermanence";
persist-retro.url = "github:Geometer1729/persist-retro";
# Home
neovim = {
url = "github:IogaMaster/neovim";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-colors.url = "github:Misterio77/nix-colors";
prism.url = "github:IogaMaster/prism";
# Deployments
arion.url = "github:hercules-ci/arion";
arion.inputs.nixpkgs.follows = "nixpkgs";
disko.url = "github:nix-community/disko";
disko.inputs.nixpkgs.follows = "nixpkgs";
deploy-rs.url = "github:serokell/deploy-rs";
deploy-rs.inputs.nixpkgs.follows = "nixpkgs";
nix-topology.url = "github:oddlama/nix-topology";
microvm.url = "github:astro/microvm.nix";
microvm.inputs.nixpkgs.follows = "nixpkgs";
# Misc
nix-ld.url = "github:Mic92/nix-ld";
nix-ld.inputs.nixpkgs.follows = "nixpkgs";
dzgui-nix = {
url = "github:lelgenio/dzgui-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
flux.url = "github:IogaMaster/flux";
};
outputs =
@ -37,7 +85,14 @@
src = ./.;
# Add overlays for the `nixpkgs` channel.
overlays = with inputs; [ nix-matlab.overlay ];
overlays = with inputs; [
nix-matlab.overlay
# iogamaster overlays
neovim.overlays.x86_64-linux.neovim
nix-topology.overlays.default
flux.overlays.default
];
snowfall = {
# The root of the snowfall config
@ -60,12 +115,19 @@
# Allow certain insecure packages
permittedInsecurePackages = [ ];
# Additional configuration for specific packages.
config = {
# For example, enable smartcard support in Firefox.
# firefox.smartcardSupport = true;
};
};
topology =
with inputs;
let
host = self.nixosConfigurations.${builtins.head (builtins.attrNames self.nixosConfigurations)};
in
import nix-topology {
inherit (host) pkgs; # Only this package set must include nix-topology.overlays.default
modules = [
(import ./topology { inherit (host) config; })
{ inherit (self) nixosConfigurations; }
];
};
};
}

View File

@ -58,7 +58,7 @@
];
networking.hostName = "aspi";
networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
networking.networkmanager.enable = true;
# Set your time zone.

View File

@ -110,7 +110,7 @@
acceleration = "cuda";
};
security.pam.sshAgentAuth = true; # enable sudo logins via ssh
security.pam.sshAgentAuth.enable = true; # enable sudo logins via ssh
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];

View File

@ -20,7 +20,7 @@
networking.networkmanager.enable = true;
networking.hostName = "pianonix"; # Define your hostname.
networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Set your time zone.
time.timeZone = "Europe/Berlin";
@ -95,7 +95,6 @@
isNormalUser = true;
description = "Julian";
uid = 1000;
gid = 1000;
group = "julian";
extraGroups = [
"networkmanager"
@ -104,6 +103,9 @@
];
packages = with pkgs; [ ]; # Using home-manager instead
};
users.groups.julian = {
gid = 1000;
};
programs.nix-ld.enable = true;

View File

@ -0,0 +1,80 @@
{
config,
lib,
pkgs,
modulesPath,
...
}:
{
# TODO: This has to adapted yet !!!
boot.initrd.availableKernelModules = [
"vmd"
"xhci_pci"
"ahci"
"nvme"
"usb_storage"
"usbhid"
"sd_mod"
];
boot.initrd.kernelModules = [ "dm-snapshot" ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.luks.devices = {
root = {
device = "/dev/disk/by-uuid/a4dc9a2c-725b-4252-8fbb-093a271c31ba";
preLVM = true;
allowDiscards = true;
};
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/bbc45be3-75f5-40c5-8427-2a425de8422c";
fsType = "btrfs";
options = [
"subvol=root"
"compress=zstd"
];
};
fileSystems."/home" = {
device = "/dev/disk/by-uuid/bbc45be3-75f5-40c5-8427-2a425de8422c";
fsType = "btrfs";
options = [
"subvol=home"
"compress=zstd"
];
};
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/bbc45be3-75f5-40c5-8427-2a425de8422c";
fsType = "btrfs";
options = [
"subvol=nix"
"compress=zstd"
"noatime"
];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/7040-F37C";
fsType = "vfat";
};
swapDevices = [ { device = "/dev/disk/by-uuid/26140b4a-0579-406d-a484-35aa31b32e80"; } ];
# 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.enp1s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp0s20f3.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;
}