diff --git a/hosts/server/configuration.nix b/hosts/server/configuration.nix index 09df4ee..376d283 100644 --- a/hosts/server/configuration.nix +++ b/hosts/server/configuration.nix @@ -105,6 +105,11 @@ services.openssh.enable = true; programs.zsh.enable = true; + programs.zsh.shellAliases = { + utest = "sudo nixos-rebuild test --flake github:itepastra/nixconf#server"; + update = "sudo nixos-rebuild switch --flake github:itepastra/nixconf#server"; + }; + home-manager = { extraSpecialArgs = { inherit inputs; diff --git a/hosts/server/home.nix b/hosts/server/home.nix index 305af30..2c53f17 100644 --- a/hosts/server/home.nix +++ b/hosts/server/home.nix @@ -45,10 +45,6 @@ rustup ]; - programs.zsh.shellAliases = { - utest = "sudo nixos-rebuild test --flake github:itepastra/nixconf#server"; - update = "sudo nixos-rebuild switch --flake github:itepastra/nixconf#server"; - }; # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. diff --git a/hosts/vnc/configuration.nix b/hosts/vnc/configuration.nix deleted file mode 100644 index 225785d..0000000 --- a/hosts/vnc/configuration.nix +++ /dev/null @@ -1,178 +0,0 @@ -# Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). - -{ config, pkgs, inputs, nix-colors, ... }: - -{ - imports = - [ # Include the results of the hardware scan. - ./hardware-configuration.nix - ./nvidia.nix - inputs.home-manager.nixosModules.default - ]; - - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; - - - networking.hostName = "lambdaOS"; # Define your hostname. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. - - # Configure network proxy if necessary - # networking.proxy.default = "http://user:password@proxy:port/"; - # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain"; - - # Enable networking - networking.networkmanager.enable = true; - - nix = { - settings = { - # auto optimise every so often - auto-optimise-store = true; - experimental-features = ["nix-command" "flakes"]; - }; - gc.automatic = true; - }; - - # Set your time zone. - time.timeZone = "Europe/Amsterdam"; - - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; - - i18n.extraLocaleSettings = { - LC_ADDRESS = "nl_NL.UTF-8"; - LC_IDENTIFICATION = "nl_NL.UTF-8"; - LC_MEASUREMENT = "nl_NL.UTF-8"; - LC_MONETARY = "nl_NL.UTF-8"; - LC_NAME = "nl_NL.UTF-8"; - LC_NUMERIC = "nl_NL.UTF-8"; - LC_PAPER = "nl_NL.UTF-8"; - LC_TELEPHONE = "nl_NL.UTF-8"; - LC_TIME = "nl_NL.UTF-8"; - }; - - services.xserver = { - enable = true; - displayManager = { - sddm.enable = true; - defaultSession = "hyprland"; - }; - xkb = { - layout = "us"; - variant = "intl"; - }; - }; - - - # Configure console keymap - console.keyMap = "us-acentos"; - - users.groups.nixpow.members = [ "root" ]; - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.noa = { - isNormalUser = true; - description = "Noa Aarts"; - extraGroups = [ "networkmanager" "wheel" "nixpow" ]; - packages = with pkgs; [ - ]; - }; - - home-manager = { - extraSpecialArgs = { - inherit inputs; - inherit nix-colors; - }; - users = { - "noa" = import ./home.nix; - "root" = import ./root.nix; - }; - }; - - # Allow unfree packages - nixpkgs.config.allowUnfree = true; - - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ - sddm - git - zsh - neovim - ]; - - # TODO find list of fonts to install - fonts.packages = with pkgs; [ - font-awesome - noto-fonts - fira-code - fira-code-symbols - liberation_ttf - ]; - - # Some programs need SUID wrappers, can be configured further or are - # started in user sessions. - # programs.mtr.enable = true; - # programs.gnupg.agent = { - # enable = true; - # enableSSHSupport = true; - # }; - programs.zsh.enable = true; - programs.steam.enable = true; - - programs.hyprland = { - enable = true; - portalPackage = pkgs.xdg-desktop-portal-hyprland; - }; - - programs.nix-ld.enable = true; - programs.nix-ld.libraries = with pkgs; [ - wayland - - ]; - - users.defaultUserShell = pkgs.zsh; - - security.rtkit.enable = true; - services.pipewire = { - enable = true; - alsa.enable = true; - alsa.support32Bit = true; - pulse.enable = true; - jack.enable = true; - }; - - boot.extraModulePackages = with config.boot.kernelPackages; [ - v4l2loopback - ]; - boot.extraModprobeConfig = '' - options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1 - ''; - security.polkit.enable = true; - - # List services that you want to enable: - - # Enable the OpenSSH daemon. - services.openssh = { - enable = true; - - settings.PasswordAuthentication = false; - settings.KbdInteractiveAuthentication = false; - }; - - # Open ports in the firewall. - networking.firewall.allowedTCPPorts = [ 5909 ]; - networking.firewall.allowedUDPPorts = [ 5909 ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - - # 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? -} diff --git a/hosts/vnc/hardware-configuration.nix b/hosts/vnc/hardware-configuration.nix deleted file mode 100644 index 17ffb75..0000000 --- a/hosts/vnc/hardware-configuration.nix +++ /dev/null @@ -1,37 +0,0 @@ -# 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 = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; - - boot.initrd.availableKernelModules = [ "nvme" "ahci" "xhci_pci" "usbhid" "usb_storage" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-amd" ]; - boot.extraModulePackages = [ ]; - - fileSystems."/" = - { device = "/dev/disk/by-uuid/263716dd-52cb-4a91-ba0b-e39e492ed0e5"; - fsType = "ext4"; - }; - - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/B08E-916D"; - 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.enp39s0.useDHCP = lib.mkDefault true; - - nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; -} diff --git a/hosts/vnc/home.nix b/hosts/vnc/home.nix deleted file mode 100644 index 9647ccd..0000000 --- a/hosts/vnc/home.nix +++ /dev/null @@ -1,146 +0,0 @@ -{ config, pkgs, inputs, ... }: - -{ - imports = - [ - inputs.nixvim.homeManagerModules.nixvim - ../../common/zsh.nix - ../../common/hyprland-vnc.nix - ../../common/git.nix - ../../common/nvim/nvim.nix - ../../common/discord/discord.nix - ../../common/spotify.nix - ../../common/automapaper/automapaper.nix - ../../common/firefox.nix - ]; - # Home Manager needs a bit of information about you and the paths it should - # manage. - home.username = "noa"; - home.homeDirectory = "/home/noa"; - - # This value determines the Home Manager release that your configuration is - # compatible with. This helps avoid breakage when a new Home Manager release - # introduces backwards incompatible changes. - # - # You should not change this value, even if you update Home Manager. If you do - # want to update the value, then make sure to first check the Home Manager - # release notes. - home.stateVersion = "23.11"; # Please read the comment before changing. - - nixpkgs.config.allowUnfree = true; - - # The home.packages option allows you to install Nix packages into your - # environment. - home.packages = with pkgs; [ - file - unzip - zip - - dig - mtr - - obs-studio - steam-run - steam-tui - wayvnc - - btop - - dconf - pipewire - lsd - - # Programming langs - go - nodejs - rustup - - ]; - - - # Home Manager is pretty good at managing dotfiles. The primary way to manage - # plain files is through 'home.file'. - home.file = { - # # Building this configuration will create a copy of 'dotfiles/screenrc' in - # # the Nix store. Activating the configuration will then make '~/.screenrc' a - # # symlink to the Nix store copy. - # ".screenrc".source = dotfiles/screenrc; - - # # You can also set the file content immediately. - # ".gradle/gradle.properties".text = '' - # org.gradle.console=verbose - # org.gradle.daemon.idletimeout=3600000 - # ''; - }; - - # Home Manager can also manage your environment variables through - # 'home.sessionVariables'. If you don't want to manage your shell through Home - # Manager then you have to manually source 'hm-session-vars.sh' located at - # either - # - # ~/.nix-profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # /etc/profiles/per-user/noa/etc/profile.d/hm-session-vars.sh - # - - - home.sessionVariables = { - EDITOR = "nvim"; - TERM = "kitty"; - }; - - xdg = { - enable = true; - }; - - xdg.userDirs = { - enable = true; - createDirectories = true; - }; - - xdg.portal = { - enable = true; - extraPortals = [ pkgs.xdg-desktop-portal-hyprland ]; - configPackages = [ pkgs.hyprland ]; - }; - - dconf = { - enable = true; - settings = { - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - }; - }; - }; - - # Let Home Manager install and manage itself. - programs.home-manager.enable = true; - - home.pointerCursor = - let - getFrom = url: hash: name: { - gtk.enable = true; - x11.enable = true; - name = name; - size = 32; - package = - pkgs.runCommand "moveUp" {} '' - mkdir -p $out/share/icons - ln -s ${pkgs.fetchzip { - url = url; - hash = hash; - }} $out/share/icons/${name} - ''; - }; - in - getFrom - "https://github.com/ful1e5/Bibata_Cursor_Rainbow/releases/download/v1.1.2/Bibata-Rainbow-Modern.tar.gz" - "sha256-Ps+IKPwQoRwO9Mqxwc/1nHhdBT2R25IoeHLKe48uHB8=" - "Bibata-Rainbow-Modern"; -} diff --git a/hosts/vnc/nvidia.nix b/hosts/vnc/nvidia.nix deleted file mode 100644 index d9c8dd2..0000000 --- a/hosts/vnc/nvidia.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ config, lib, pkgs, ... }: -{ - hardware.opengl = { - enable = true; - driSupport = true; - driSupport32Bit = true; - }; - - services.xserver.videoDrivers = [ "nvidia" ]; - - hardware.nvidia = { - - modesetting.enable = true; - - # NOTE change this if borked - powerManagement = { - enable = true; - finegrained = false; - }; - - open = false; - - nvidiaSettings = true; - - package = config.boot.kernelPackages.nvidiaPackages.stable; - }; -} diff --git a/hosts/vnc/root.nix b/hosts/vnc/root.nix deleted file mode 100644 index 5c4b6a5..0000000 --- a/hosts/vnc/root.nix +++ /dev/null @@ -1,94 +0,0 @@ -{ config, pkgs, inputs, ... }: - -{ - imports = - [ - inputs.nixvim.homeManagerModules.nixvim - ../../common/wofi.nix - ../../common/zsh.nix - ../../common/hyprland.nix - ../../common/waybar.nix - ../../common/git.nix - ../../common/nvim/nvim.nix - ]; - # Home Manager needs a bit of information about you and the paths it should - # manage. - home.username = "root"; - home.homeDirectory = "/root"; - - # This value determines the Home Manager release that your configuration is - # compatible with. This helps avoid breakage when a new Home Manager release - # introduces backwards incompatible changes. - # - # You should not change this value, even if you update Home Manager. If you do - # want to update the value, then make sure to first check the Home Manager - # release notes. - home.stateVersion = "23.11"; # Please read the comment before changing. - - nixpkgs.config.allowUnfree = true; - - # The home.packages option allows you to install Nix packages into your - # environment. - home.packages = with pkgs; [ - file - unzip - zip - - dig - mtr - - kitty - lsd - ]; - - - # Home Manager is pretty good at managing dotfiles. The primary way to manage - # plain files is through 'home.file'. - home.file = { - # # Building this configuration will create a copy of 'dotfiles/screenrc' in - # # the Nix store. Activating the configuration will then make '~/.screenrc' a - # # symlink to the Nix store copy. - # ".screenrc".source = dotfiles/screenrc; - - # # You can also set the file content immediately. - # ".gradle/gradle.properties".text = '' - # org.gradle.console=verbose - # org.gradle.daemon.idletimeout=3600000 - # ''; - }; - - # Home Manager can also manage your environment variables through - # 'home.sessionVariables'. If you don't want to manage your shell through Home - # Manager then you have to manually source 'hm-session-vars.sh' located at - # either - # - # ~/.nix-profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh - # - # or - # - # /etc/profiles/per-user/noa/etc/profile.d/hm-session-vars.sh - # - home.sessionVariables = { - EDITOR = "nvim"; - TERM = "kitty"; - }; - - xdg.userDirs.enable = true; - xdg.userDirs.createDirectories = true; - - dconf = { - enable = true; - settings = { - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - }; - }; - }; - - # Let Home Manager install and manage itself. - programs.home-manager.enable = true; -}