diff --git a/flake.nix b/flake.nix index 81b4058..378cf2d 100644 --- a/flake.nix +++ b/flake.nix @@ -64,7 +64,7 @@ ... }@inputs: let - username = "harry123"; + username = "misschloe777"; secrets = builtins.toString inputs.nix-secrets; specialArgs = { @@ -116,6 +116,28 @@ ]; }; + workstation = nixpkgsUnstable.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = specialArgs; + modules = [ + ./hosts/workstation/configuration.nix + nix-flatpak.nixosModules.nix-flatpak + catppuccin.nixosModules.catppuccin + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.${username} = { + imports = [ + ./home-manager/home.nix + catppuccin.homeModules.catppuccin + ]; + }; + home-manager.extraSpecialArgs = { inherit inputs; }; + } + ]; + }; + dionysos = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { diff --git a/home-manager/home.nix b/home-manager/home.nix index 42c5995..e32d7a6 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -7,8 +7,8 @@ { # Home Manager needs a bit of information about you and the paths it should # manage. - home.username = "harry123"; - home.homeDirectory = "/home/harry123"; + home.username = "misschloe777"; + home.homeDirectory = "/home/misschloe777"; # This value determines the Home Manager release that your configuration is # compatible with. This helps avoid breakage when a new Home Manager release diff --git a/hosts/goober/features/software/workstation.nix b/hosts/goober/features/software/workstation.nix index e0d9640..c32d645 100644 --- a/hosts/goober/features/software/workstation.nix +++ b/hosts/goober/features/software/workstation.nix @@ -57,7 +57,6 @@ revolt-desktop ]; - programs.kdeconnect.enable = true; virtualisation.containers.enable = true; virtualisation = { podman = { diff --git a/hosts/workstation/configuration.nix b/hosts/workstation/configuration.nix index 8d54cb4..d61b438 100644 --- a/hosts/workstation/configuration.nix +++ b/hosts/workstation/configuration.nix @@ -7,6 +7,7 @@ { imports = [ # Include the results of the hardware scan. + ../../shared/client/tailscale.nix ./hardware-configuration.nix ]; @@ -18,7 +19,7 @@ boot.kernelPackages = pkgs.linuxPackages_latest; boot.initrd.luks.devices."luks-11a80280-8a8c-44c0-a8be-7ef370eb37ae".device = "/dev/disk/by-uuid/11a80280-8a8c-44c0-a8be-7ef370eb37ae"; - networking.hostName = "nixos"; # Define your hostname. + networking.hostName = "workstation"; # Define your hostname. # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. # Configure network proxy if necessary @@ -56,13 +57,20 @@ console.keyMap = "fr"; # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.rouge = { + users.users.misschloe777 = { isNormalUser = true; - description = "rouge"; - extraGroups = [ "networkmanager" "wheel" ]; - packages = with pkgs; []; + description = "misschloe777"; + extraGroups = [ "networkmanager" "wheel" "audio" "video" "podman" ]; + packages = with pkgs; [ + inputs.zen-browser.packages."${system}".default + ]; }; + nix.settings.experimental-features = [ + "nix-command" + "flakes" + ]; + # Allow unfree packages nixpkgs.config.allowUnfree = true; @@ -71,6 +79,15 @@ environment.systemPackages = with pkgs; [ # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default. # wget + wget + dwl + git + tmux + mako + grim + slurp + wl-clipboard + udiskie ]; # Some programs need SUID wrappers, can be configured further or are diff --git a/hosts/workstation/features/software/workstation.nix b/hosts/workstation/features/software/workstation.nix new file mode 100644 index 0000000..9a6e73f --- /dev/null +++ b/hosts/workstation/features/software/workstation.nix @@ -0,0 +1,41 @@ +{ pkgs, lib, ... }: +{ + # for java development on vscode + programs.nix-ld.enable = true; + + nixpkgs.config.allowUnfreePredicate = + pkg: + builtins.elem (lib.getName pkg) [ + "davinci-resolve" + "vscode" + "tetrio-desktop" + "beeper" + ]; + + environment.systemPackages = with pkgs; [ + zathura + libreoffice-qt + hunspell + hunspellDicts.fr-any + hunspellDicts.en-gb-large + + # recording software + obs-studio + + gvfs + + nil + bitwarden + ]; + + virtualisation.containers.enable = true; + virtualisation = { + podman = { + enable = true; + # Create a `docker` alias for podman, to use it as a drop-in replacement + dockerCompat = true; + # Required for containers under podman-compose to be able to talk to each other. + defaultNetwork.settings.dns_enabled = true; + }; + }; +}