diff --git a/hosts/vbox_nix/default.nix b/hosts/vbox_nix/default.nix new file mode 100644 index 0000000..e87f939 --- /dev/null +++ b/hosts/vbox_nix/default.nix @@ -0,0 +1,70 @@ +{ lib, pkgs, ... }: +{ + imports = [ ./hardware-configuration.nix ]; + + nix.settings = { + max-jobs = 6; + cores = 6; + }; + + security.sudo.package = pkgs.sudo.override { withInsults = true; }; + security.polkit.enable = true; + services = { + udisks2.enable = true; + }; + + # NixOS release from which this machine was first installed. + # (for stateful data, like file locations and db versions) + # Leave this alone! + system.stateVersion = lib.mkForce "23.11"; + + myOptions = { + system = { + hostname = "vboxnix"; + username = "itsdrike"; + + impermanence = { + root.enable = false; + autoWipeBtrfs.enable = false; + }; + + boot = { + secure-boot.enable = false; + tmpOnTmpfs = false; + }; + }; + + device = { + roles = { + type = "desktop"; + virtual-machine = true; + }; + cpu.type = "amd"; + hasTPM = false; + }; + + security = { + auditd = { + enable = true; + autoPrune.enable = true; + }; + }; + + workstation = { + printing.enable = false; + }; + + home-manager = { + enable = true; + stateVersion = "23.11"; + git = { + userName = "ItsDrike"; + userEmail = "itsdrike@protonmail.com"; + signing = { + enable = true; + key = "FA2745890B7048C0"; + }; + }; + }; + }; +} diff --git a/hosts/vbox_nix/hardware-configuration.nix b/hosts/vbox_nix/hardware-configuration.nix new file mode 100644 index 0000000..bcec921 --- /dev/null +++ b/hosts/vbox_nix/hardware-configuration.nix @@ -0,0 +1,37 @@ +# 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 = [ ]; + + boot.initrd.availableKernelModules = [ "ata_piix" "ohci_pci" "ehci_pci" "ahci" "sd_mod" "sr_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/86d578b1-fd70-4f72-918d-44d921fe8a73"; + fsType = "btrfs"; + options = [ "subvol=@" ]; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/7636-1642"; + 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..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp0s3.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + virtualisation.virtualbox.guest.enable = true; +} + diff --git a/system/roles/laptop/power/power-profiles-daemon/default.nix b/system/roles/laptop/power/power-profiles-daemon/default.nix index 89c7371..de4ac73 100644 --- a/system/roles/laptop/power/power-profiles-daemon/default.nix +++ b/system/roles/laptop/power/power-profiles-daemon/default.nix @@ -1,3 +1,6 @@ +# This sets up power management using auto-cpufreq, +# alongside with upower and power-profiles-daemon. +# Together, this provides a complete alternative to TLP { pkgs, lib, config, ...}: let inherit (lib) mkIf; inherit (lib.modules) mkForce; @@ -24,7 +27,7 @@ in { in { description = "Power Monitoring Service"; environment.PATH = mkForce "/run/wrappers/bin:${makeBinPath dependencies}"; - script = builtins.readFile ./power_monitor.sh; + script = builtins.readFile ./scripts/power_monitor.sh; serviceConfig = { Type = "simple"; diff --git a/system/roles/laptop/power/power-profiles-daemon/power_monitor.sh b/system/roles/laptop/power/power-profiles-daemon/scripts/power_monitor.sh similarity index 100% rename from system/roles/laptop/power/power-profiles-daemon/power_monitor.sh rename to system/roles/laptop/power/power-profiles-daemon/scripts/power_monitor.sh