diff --git a/configuration.nix b/configuration.nix index a220af4..ee5cb38 100644 --- a/configuration.nix +++ b/configuration.nix @@ -22,9 +22,10 @@ ''; }; networking = { - firewall.enable = true; - firewall.allowPing = true; - useDHCP = lib.mkDefault true; + firewall = { + enable = true; + allowPing = true; + }; networkmanager.enable = true; }; services.gvfs.enable = true; diff --git a/flake.nix b/flake.nix index aeebf5b..1e0a18f 100644 --- a/flake.nix +++ b/flake.nix @@ -8,7 +8,7 @@ spicetify-nix.url = "github:the-argus/spicetify-nix"; }; - outputs = {self, nixpkgs, home-manager, spicetify-nix, ... }@inputs: + outputs = {self, nixpkgs, home-manager, spicetify-nix}@inputs: let username = "gerg"; system = "x86_64-linux"; @@ -24,47 +24,37 @@ }; overlays = [ (final: prev: rec { - t-rex-miner = final.callPackage ./pkgs/t-rex-miner {}; - afk-cmds = final.callPackage ./pkgs/afk-cmds {}; - parrot = final.callPackage ./pkgs/parrot {}; - discord = prev.discord.override { - withOpenASAR = true; - nss = prev.nss_latest; - }; - }) - (import ./suckless) + t-rex-miner = final.callPackage ./pkgs/t-rex-miner {}; + afk-cmds = final.callPackage ./pkgs/afk-cmds {}; + parrot = final.callPackage ./pkgs/parrot {}; + discord = prev.discord.override { + withOpenASAR = true; + nss = prev.nss_latest; + }; + }) + (import ./suckless) ]; }; lib = nixpkgs.lib; in { - homeConfigurations.${username} = home-manager.lib.homeManagerConfiguration { - inherit pkgs; - modules = [ - ./home-manager/home.nix - ]; - extraSpecialArgs = { inherit spicetify-nix; }; - }; - homeConfigurations.root = home-manager.lib.homeManagerConfiguration { - inherit pkgs; - modules = [ - ./home-manager/root.nix - ]; - }; nixosConfigurations = { - gerg-laptop = lib.nixosSystem { + gerg-desktop = lib.nixosSystem { inherit system pkgs; - specialArgs = inputs; - modules = [ - ./configuration.nix - ./systems/laptop.nix - ]; - }; - gerg-desktop = lib.nixosSystem { - inherit system pkgs; - specialArgs = inputs; + specialArgs = {inherit inputs username;}; modules = [ ./configuration.nix ./systems/desktop.nix + home-manager.nixosModules.home-manager { + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + extraSpecialArgs = { inherit spicetify-nix username; }; + users = { + ${username} = import ./home-manager/home.nix; + root = import ./home-manager/root.nix; + }; + }; + } ]; }; }; diff --git a/home-manager/home.nix b/home-manager/home.nix index 1b9697b..245be75 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -1,4 +1,4 @@ -{config, pkgs, ...}: +{config, pkgs, username, ...}: { imports = [ ./librewolf.nix @@ -14,8 +14,8 @@ xsession.numlock.enable = true; programs.home-manager.enable = true; home = { - username = "gerg"; - homeDirectory = "/home/gerg"; + inherit username; + homeDirectory = "/home/${username}"; stateVersion = "23.05"; file = { ".background-image".source = ../images/nix-stars.png; diff --git a/modules/scripts.nix b/modules/scripts.nix index 5d67b94..1044345 100644 --- a/modules/scripts.nix +++ b/modules/scripts.nix @@ -18,10 +18,6 @@ let nix-collect-garbage -d ''; - apply-user = pkgs.writeShellScriptBin "apply-user" '' - home-manager switch --flake /etc/nixos/#$(whoami) - ''; - apply-system = pkgs.writeShellScriptBin "apply-system" '' if ! [ $(id -u) = 0 ]; then echo "RUN AS ROOT" @@ -37,8 +33,6 @@ let fi update-system apply-system - apply-user - sudo -u gerg apply-user ''; polybar-tray = pkgs.writeShellScriptBin "polybar-tray" '' @@ -52,5 +46,5 @@ let curl -F 'clbin=<-' https://clbin.com ''; in { - environment.systemPackages = [ update-system clean-store apply-user apply-system polybar-tray full-upgrade pastebin]; + environment.systemPackages = [ update-system clean-store apply-system polybar-tray full-upgrade pastebin]; } diff --git a/modules/smb.nix b/modules/smb.nix index 12ad052..e98f26d 100644 --- a/modules/smb.nix +++ b/modules/smb.nix @@ -1,3 +1,4 @@ +{username, ...}: { services.samba-wsdd.enable = true; # make shares visible for windows 10 clients networking.firewall = { @@ -10,11 +11,11 @@ openFirewall = true; shares = { Share = { - path = "/home/gerg/Share"; + path = "/home/${username}/Share"; browseable = "no"; "read only" = "no"; "guest ok" = "no"; - "force user" = "gerg"; + "force user" = "${username}"; "force group" = "users"; }; }; diff --git a/modules/vfio.nix b/modules/vfio.nix index dba7448..b439c2b 100644 --- a/modules/vfio.nix +++ b/modules/vfio.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, username, ... }: { boot = { kernelParams = [ "amd_iommu=on" "iommu=pt" "vfio_iommu_type1.allow_unsafe_interrupts=1" "kvm.ignore_msrs=1" ]; @@ -15,7 +15,7 @@ runAsRoot = true; ovmf.enable = true; verbatimConfig = '' - user = "gerg" + user = "${username}" group = "kvm" namespaces = [] ''; diff --git a/modules/xserver.nix b/modules/xserver.nix index 99b1f76..3b85292 100644 --- a/modules/xserver.nix +++ b/modules/xserver.nix @@ -1,4 +1,4 @@ -{config, pkgs, ... }: +{config, pkgs, username, ... }: { services.xserver = { enable = true; @@ -20,7 +20,7 @@ enable = true; extraConfig = '' [greeter] -user = gerg +user = ${username} show-password-label = false password-label-text = invalid-password-text = diff --git a/systems/desktop.nix b/systems/desktop.nix index b34b98b..51395d2 100644 --- a/systems/desktop.nix +++ b/systems/desktop.nix @@ -1,4 +1,4 @@ -{ config, pkgs, callPackage, lib, ... }: +{ config, pkgs, callPackage, lib, username, ... }: { #important stuff first imports = @@ -27,7 +27,7 @@ #user managment users = { defaultUserShell = pkgs.zsh; - users.gerg = { + users."${username}" = { isNormalUser = true; extraGroups = [ "wheel" "audio" "networkmanager" "kvm" "libvirtd" ]; }; @@ -37,13 +37,14 @@ kernelModules = [ "kvm-amd" "msr"]; kernelParams = [ "iomem=relaxed" "msr.allow_writes=on" ]; }; + fileSystems = { "/" ={ - device = "/dev/disk/by-uuid/f0f46e34-874f-4052-855c-38c88bd7987a"; + device = "/dev/disk/by-uuid/e5c9634f-0273-4fd3-b35f-49899984340f"; fsType = "ext4"; }; "/boot" = { - device = "/dev/disk/by-uuid/5F00-1D91"; + device = "/dev/disk/by-uuid/D3B9-197E"; fsType = "vfat"; }; }; @@ -58,7 +59,7 @@ ''; environment = { # PATH="/run/current-system/sw/bin"; missing something with dbus - XAUTHORITY="/home/gerg/.Xauthority"; + XAUTHORITY="/home/${username}/.Xauthority"; DISPLAY=":0"; XDG_DATA_DIRS="/nix/var/nix/profiles/default/share:/run/current-system/sw/share"; DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus";