Compare commits

...

8 Commits

10 changed files with 148 additions and 82 deletions

View File

@ -156,21 +156,12 @@
hostname = "slab";
stateVersion = "23.11";
};
nullbox = lib.nixosSystem rec {
nullbox = mkSystem {
system = "x86_64-linux";
modules = [
./hosts/nullbox/configuration.nix
./system/remote.nix
./system/plasma.nix
./system/fragments/hardware/nvidia-modeset.nix
./system/gaming.nix
(homeManagerInit {
module = import ./hosts/nullbox/home.nix;
inherit system;
stateVersion = "23.11";
})
];
hostname = "nullbox";
stateVersion = "23.11";
};
};
};
}
}; # end nixosConfigurations
}; # end outputs
} # end flake

View File

@ -7,77 +7,88 @@
{
fileSystems."/ntfs" = {
fsType = "ntfs-3g";
device = "/dev/disk/by-uuid/6AC23F0FC23EDF4F";
};
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# cryptsetup
boot.initrd.luks.devices = {
lvmroot = {
device="/dev/disk/by-uuid/85b5f22e-0fa5-4f0d-8fba-f800a0b41671";
allowDiscards = true;
fallbackToPassword = true;
preLVM = true;
config = {
fileSystems."/ntfs" = {
fsType = "ntfs-3g";
device = "/dev/disk/by-uuid/6AC23F0FC23EDF4F";
};
};
# bootloader setup
boot.loader = {
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot";
# nixfiles
nixfiles = {
common.remoteAccess.enable = true;
sessions.plasma.enable = true;
hardware.nvidia.modesetting.enable = true;
packageSets.gaming.enable = true;
};
# grub = {
# enable = true;
# efiSupport = true;
# device = "nodev";
# };
systemd-boot = {
enable = true;
netbootxyz.enable = true;
memtest86.enable = true;
# cryptsetup
boot.initrd.luks.devices = {
lvmroot = {
device="/dev/disk/by-uuid/85b5f22e-0fa5-4f0d-8fba-f800a0b41671";
allowDiscards = true;
fallbackToPassword = true;
preLVM = true;
};
};
# bootloader setup
boot.loader = {
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot";
};
# grub = {
# enable = true;
# efiSupport = true;
# device = "nodev";
# };
systemd-boot = {
enable = true;
netbootxyz.enable = true;
memtest86.enable = true;
};
};
networking.wg-quick.interfaces.wg0 = {
configFile = "/etc/wireguard/wg0.conf";
autostart = true;
};
# Use the systemd-boot EFI boot loader.
# boot.loader.systemd-boot.enable = true;
# boot.loader.efi.canTouchEfiVariables = true;
# see custom-hardware-configuration.nix
# networking.hostName = "nixos"; # Define your hostname.
networking.hostName = "nullbox";
# 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.
# Set your time zone.
time.timeZone = "America/New_York";
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. It's perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment?
};
networking.wg-quick.interfaces.wg0 = {
configFile = "/etc/wireguard/wg0.conf";
autostart = true;
};
# Use the systemd-boot EFI boot loader.
# boot.loader.systemd-boot.enable = true;
# boot.loader.efi.canTouchEfiVariables = true;
# see custom-hardware-configuration.nix
# networking.hostName = "nixos"; # Define your hostname.
networking.hostName = "nullbox";
# 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.
# Set your time zone.
time.timeZone = "America/New_York";
# Copy the NixOS configuration file and link it from the resulting system
# (/run/current-system/configuration.nix). This is useful in case you
# accidentally delete configuration.nix.
# system.copySystemConfiguration = true;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. It's perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.11"; # Did you read the comment?
}

View File

@ -1,8 +1,11 @@
{ lib, pkgs, osConfig, ... }:
{
imports = [
../../home/common.nix
];
home.stateVersion = "23.11";
config = {
nixfiles.profile.base.enable = true;
home.stateVersion = "23.11";
};
}

View File

@ -24,7 +24,10 @@
nixfiles = {
common.remoteAccess.enable = true;
hardware.opengl.enable = true;
packageSets.gaming.enable = true;
packageSets = {
gaming.enable = true;
fun.enable = true;
};
sessions.hyprland.enable = true;
sessions.plasma.enable = lib.mkDefault false;
};

View File

@ -10,7 +10,7 @@ in
config = lib.mkIf cfg.enable {
users.users.nullbite = {
isNormalUser = true;
extraGroups = [ "wheel" ];
extraGroups = [ "wheel" ] ++ lib.optional config.nixfiles.packageSets.fun.enable "input";
packages = with pkgs; [
keychain
];

View File

@ -10,6 +10,7 @@ in
./profile
./programs
./sessions
./testing
];
config = {};
options.nixfiles = {

View File

@ -3,5 +3,6 @@
imports = [
./gaming.nix
./multimedia.nix
./fun.nix
];
}

View File

@ -0,0 +1,28 @@
{ pkgs, config, lib, ...}:
let
cfg = config.nixfiles.packageSets.fun;
in
{
options.nixfiles.packageSets.fun = {
enable = lib.mkEnableOption "fun package set";
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
cowsay
uwufetch
fortune
pipes
hollywood
sl
figlet
aalib
asciiquarium
] ++ lib.optionals config.services.xserver.enable [
oneko
] ++ lib.optionals config.sound.enable [
bucklespring-libinput
espeak
];
};
}

View File

@ -0,0 +1,6 @@
{...}:
{
imports = [
./mutability.nix
];
}

View File

@ -0,0 +1,22 @@
{ lib, pkgs, config, ... }:
let
cfg = config.nixfiles.testing.mutability;
file = pkgs.writeTextFile {
name = "test";
text = ''
meow!
'';
};
in
{
options.nixfiles.testing.mutability = {
enable = lib.mkEnableOption "mutability test";
};
config = lib.mkIf cfg.enable {
environment.etc.mutability-test = {
mode = "0644";
source = file;
};
};
}