diff --git a/hosts/laptop/configuration.nix b/hosts/laptop/configuration.nix index fa92ddf..70d3b68 100755 --- a/hosts/laptop/configuration.nix +++ b/hosts/laptop/configuration.nix @@ -34,70 +34,15 @@ ../../modules/nixos/fonts.nix ../../modules/nixos/latex.nix ../../modules/nixos/development.nix + ../../modules/nixos/user.nix ../../hostsModules/laptop/nixos/user.nix ]; qt.enable = true; - home-manager = { - useGlobalPkgs = true; - useUserPackages = true; - users = { - tomasr = ./home.nix; - }; - extraSpecialArgs = {inherit inputs pkgs-unstable;}; - }; - - services.dbus.enable = true; - security.polkit.enable = true; - - # Set your time zone. - time.timeZone = "Europe/Zurich"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - - # zsh dont want to work if it is not initialzed here. - programs.zsh.enable = true; - # removes rclone error programs.fuse.userAllowOther = true; programs.fuse.enable = true; - security.wrappers.gsr-kms-server = { - # to remove the password prompt when using gpu-screen-recorder - owner = "root"; - group = "root"; - capabilities = "cap_sys_admin+ep"; - source = "${pkgs.gpu-screen-recorder}/bin/gsr-kms-server"; - }; - - services.upower.enable = true; - - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.tomasr = { - isNormalUser = true; - description = "Tomas Rivera"; - extraGroups = ["networkmanager" "wheel" "fuse"]; #wheel allow to use sudo / fuse -> rclone - shell = pkgs.zsh; - }; - - # removes need for password for nixos-rebuild - security.sudo.extraRules = [ - { - users = [ "tomasr" ]; - commands = [ - { - command = "/run/current-system/sw/bin/nixos-rebuild"; - options = [ "NOPASSWD" ]; - } - ]; - } - ]; - - - - - # Allow unfree packages nixpkgs.config.allowUnfree = true; # Nonfree packages: hplipWithPlugin @@ -111,7 +56,6 @@ gnome-characters gnome-disk-utility #tree # shows dir in tree # we use eza now - zsh # better bash brightnessctl # control brightness udiskie # removable disk automounter for udisks jp # lightweight and flexible cli JSON parser diff --git a/hostsModules/laptop/nixos/user.nix b/hostsModules/laptop/nixos/user.nix new file mode 100644 index 0000000..be1f3a4 --- /dev/null +++ b/hostsModules/laptop/nixos/user.nix @@ -0,0 +1,7 @@ +# configuration is in ../../../modules/nixos/user.nix +{ + ... +}: +{ + home-manager.users.tomasr = ../../../hosts/laptop/home.nix; +} diff --git a/modules/nixos/user.nix b/modules/nixos/user.nix new file mode 100644 index 0000000..35cec27 --- /dev/null +++ b/modules/nixos/user.nix @@ -0,0 +1,56 @@ +{ + pkgs, + pkgs-unstable, + inputs, + ... +}: +{ + services.dbus.enable = true; + security.polkit.enable = true; + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + # the home manager config is set in ../../hostsModules/*/nixos/user.nix + extraSpecialArgs = {inherit inputs pkgs-unstable;}; + }; + + # Set your time zone. + time.timeZone = "Europe/Zurich"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; + + # zsh dont want to work if it is not initialzed here. + programs.zsh.enable = true; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.tomasr = { + isNormalUser = true; + description = "Tomas Rivera"; + extraGroups = ["networkmanager" "wheel" "fuse"]; #wheel allow to use sudo / fuse -> rclone + shell = pkgs.zsh; + }; + + security.wrappers.gsr-kms-server = { + # to remove the password prompt when using gpu-screen-recorder + owner = "root"; + group = "root"; + capabilities = "cap_sys_admin+ep"; + source = "${pkgs.gpu-screen-recorder}/bin/gsr-kms-server"; + }; + + services.upower.enable = true; + + # removes need for password for nixos-rebuild + security.sudo.extraRules = [ + { + users = [ "tomasr" ]; + commands = [ + { + command = "/run/current-system/sw/bin/nixos-rebuild"; + options = [ "NOPASSWD" ]; + } + ]; + } + ]; +}