Added GLaDOS configs (copied from EDI)
This commit is contained in:
		
							parent
							
								
									b8fc63bb76
								
							
						
					
					
						commit
						4e286b0e10
					
				
					 3 changed files with 393 additions and 0 deletions
				
			
		
							
								
								
									
										21
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										21
									
								
								flake.nix
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -70,6 +70,16 @@
 | 
			
		|||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    nixosConfigurations = {
 | 
			
		||||
      GLaDOS = nixpkgs.lib.nixosSystem {
 | 
			
		||||
        specialArgs = {inherit inputs outputs;};
 | 
			
		||||
        modules = [
 | 
			
		||||
          # > Our main nixos configuration file <
 | 
			
		||||
          ./nixos/GLaDOS/configuration.nix
 | 
			
		||||
        ];
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    # Standalone home-manager configuration entrypoint
 | 
			
		||||
    # Available through 'home-manager --flake .#your-username@your-hostname'
 | 
			
		||||
    homeConfigurations = {
 | 
			
		||||
| 
						 | 
				
			
			@ -82,5 +92,16 @@
 | 
			
		|||
        ];
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    homeConfigurations = {
 | 
			
		||||
      "lillian@GLaDOS" = home-manager.lib.homeManagerConfiguration {
 | 
			
		||||
        pkgs = nixpkgs.legacyPackages.x86_64-linux; # Home-manager requires 'pkgs' instance
 | 
			
		||||
        extraSpecialArgs = {inherit inputs outputs;};
 | 
			
		||||
        modules = [
 | 
			
		||||
          # > Our main home-manager configuration file <
 | 
			
		||||
          ./home-manager/GLaDOS-Lillian.nix
 | 
			
		||||
        ];
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										196
									
								
								home-manager/GLaDOS-Lillian.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										196
									
								
								home-manager/GLaDOS-Lillian.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,196 @@
 | 
			
		|||
# This is your home-manager configuration file
 | 
			
		||||
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
 | 
			
		||||
{
 | 
			
		||||
  inputs,
 | 
			
		||||
  outputs,
 | 
			
		||||
  lib,
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  # You can import other home-manager modules here
 | 
			
		||||
  imports = [
 | 
			
		||||
    # If you want to use modules your own flake exports (from modules/home-manager):
 | 
			
		||||
    # outputs.homeManagerModules.example
 | 
			
		||||
 | 
			
		||||
    # Or modules exported from other flakes (such as nix-colors):
 | 
			
		||||
    # inputs.nix-colors.homeManagerModules.default
 | 
			
		||||
 | 
			
		||||
    # You can also split up your configuration and import pieces of it here:
 | 
			
		||||
    # ./nvim.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  nixpkgs = {
 | 
			
		||||
    # You can add overlays here
 | 
			
		||||
    overlays = [
 | 
			
		||||
      # Add overlays your own flake exports (from overlays and pkgs dir):
 | 
			
		||||
      outputs.overlays.additions
 | 
			
		||||
      outputs.overlays.modifications
 | 
			
		||||
      outputs.overlays.unstable-packages
 | 
			
		||||
 | 
			
		||||
      # You can also add overlays exported from other flakes:
 | 
			
		||||
      # neovim-nightly-overlay.overlays.default
 | 
			
		||||
 | 
			
		||||
      # Or define it inline, for example:
 | 
			
		||||
      # (final: prev: {
 | 
			
		||||
      #   hi = final.hello.overrideAttrs (oldAttrs: {
 | 
			
		||||
      #     patches = [ ./change-hello-to-hi.patch ];
 | 
			
		||||
      #   });
 | 
			
		||||
      # })
 | 
			
		||||
    ];
 | 
			
		||||
    # Configure your nixpkgs instance
 | 
			
		||||
    config = {
 | 
			
		||||
      # Disable if you don't want unfree packages
 | 
			
		||||
      allowUnfree = true;
 | 
			
		||||
      # Workaround for https://github.com/nix-community/home-manager/issues/2942
 | 
			
		||||
      allowUnfreePredicate = _: true;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  home = {
 | 
			
		||||
    username = "lillian";
 | 
			
		||||
    homeDirectory = "/home/lillian";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Add stuff for your user as you see fit:
 | 
			
		||||
  # programs.neovim.enable = true;
 | 
			
		||||
  # home.packages = with pkgs; [ steam ];
 | 
			
		||||
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    # Coding:
 | 
			
		||||
    git
 | 
			
		||||
    kate
 | 
			
		||||
 | 
			
		||||
    # Chat applications:
 | 
			
		||||
    element-desktop
 | 
			
		||||
    signal-desktop
 | 
			
		||||
    webcord-vencord
 | 
			
		||||
 | 
			
		||||
    # Gaming:
 | 
			
		||||
    prismlauncher
 | 
			
		||||
    steam
 | 
			
		||||
 | 
			
		||||
    # Multimedia:
 | 
			
		||||
    freetube
 | 
			
		||||
    obs-studio
 | 
			
		||||
    vlc
 | 
			
		||||
 | 
			
		||||
    # Office applications:
 | 
			
		||||
    onlyoffice-bin
 | 
			
		||||
 | 
			
		||||
    # System tools:
 | 
			
		||||
    rage
 | 
			
		||||
    bitwarden
 | 
			
		||||
    discover
 | 
			
		||||
    flameshot
 | 
			
		||||
    fzf
 | 
			
		||||
    nextcloud-client
 | 
			
		||||
    nitrokey-app
 | 
			
		||||
    protonvpn-gui
 | 
			
		||||
    virtualbox
 | 
			
		||||
    watchmate
 | 
			
		||||
    qbittorrent
 | 
			
		||||
    zsh
 | 
			
		||||
 | 
			
		||||
    # Web browsing:
 | 
			
		||||
    firefox
 | 
			
		||||
    ungoogled-chromium
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  programs.vscode = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    package = pkgs.vscodium;
 | 
			
		||||
    extensions = with pkgs.vscode-extensions; [
 | 
			
		||||
      dracula-theme.theme-dracula
 | 
			
		||||
      arrterian.nix-env-selector
 | 
			
		||||
      jnoortheen.nix-ide
 | 
			
		||||
      kamadorueda.alejandra
 | 
			
		||||
      ms-toolsai.jupyter
 | 
			
		||||
      ms-python.python
 | 
			
		||||
      rust-lang.rust-analyzer
 | 
			
		||||
      yzhang.markdown-all-in-one
 | 
			
		||||
    ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  programs.zsh = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    enableAutosuggestions = true;
 | 
			
		||||
    enableCompletion = true;
 | 
			
		||||
    historySubstringSearch.enable = true;
 | 
			
		||||
    syntaxHighlighting.enable = true;
 | 
			
		||||
    zsh-abbr.enable = true;
 | 
			
		||||
    oh-my-zsh = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      plugins = [
 | 
			
		||||
        "git"
 | 
			
		||||
        "adb"
 | 
			
		||||
        "battery"
 | 
			
		||||
        "branch"
 | 
			
		||||
        "coffee"
 | 
			
		||||
        "colored-man-pages"
 | 
			
		||||
        "colorize"
 | 
			
		||||
        "command-not-found"
 | 
			
		||||
        "common-aliases"
 | 
			
		||||
        "compleat"
 | 
			
		||||
        "composer"
 | 
			
		||||
        "copypath"
 | 
			
		||||
        "copybuffer"
 | 
			
		||||
        "copyfile"
 | 
			
		||||
        "cp"
 | 
			
		||||
        "dirhistory"
 | 
			
		||||
        "dirpersist"
 | 
			
		||||
        "docker"
 | 
			
		||||
        "docker-compose"
 | 
			
		||||
        "extract"
 | 
			
		||||
        "fancy-ctrl-z"
 | 
			
		||||
        "fastfile"
 | 
			
		||||
        "frontend-search"
 | 
			
		||||
        "git-auto-fetch"
 | 
			
		||||
        "git-escape-magic"
 | 
			
		||||
        "git-extras"
 | 
			
		||||
        "git-flow"
 | 
			
		||||
        "github"
 | 
			
		||||
        "gitignore"
 | 
			
		||||
        "gnu-utils"
 | 
			
		||||
        "gpg-agent"
 | 
			
		||||
        "history"
 | 
			
		||||
        "history-substring-search"
 | 
			
		||||
        "isodate"
 | 
			
		||||
        "jsontools"
 | 
			
		||||
        "keychain"
 | 
			
		||||
        "man"
 | 
			
		||||
        "nanoc"
 | 
			
		||||
        "pip"
 | 
			
		||||
        "pipenv"
 | 
			
		||||
        "pyenv"
 | 
			
		||||
        "python"
 | 
			
		||||
        "rsync"
 | 
			
		||||
        "rvm"
 | 
			
		||||
        "screen"
 | 
			
		||||
        "sdk"
 | 
			
		||||
        "sfdx"
 | 
			
		||||
        "shell-proxy"
 | 
			
		||||
        "sudo"
 | 
			
		||||
        "systemadmin"
 | 
			
		||||
        "systemd"
 | 
			
		||||
        "themes"
 | 
			
		||||
        "urltools"
 | 
			
		||||
        "web-search"
 | 
			
		||||
        "zsh-interactive-cd"
 | 
			
		||||
        "zsh-navigation-tools"
 | 
			
		||||
        "zsh-nix-shell"
 | 
			
		||||
      ];
 | 
			
		||||
      theme = "jtriley";
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Enable home-manager and git
 | 
			
		||||
  programs.home-manager.enable = true;
 | 
			
		||||
  programs.git.enable = true;
 | 
			
		||||
 | 
			
		||||
  # Nicely reload system units when changing configs
 | 
			
		||||
  systemd.user.startServices = "sd-switch";
 | 
			
		||||
 | 
			
		||||
  # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
 | 
			
		||||
  home.stateVersion = "23.11";
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										176
									
								
								nixos/GLaDOS/configuration.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										176
									
								
								nixos/GLaDOS/configuration.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,176 @@
 | 
			
		|||
# This is your system's configuration file.
 | 
			
		||||
# Use this to configure your system environment (it replaces /etc/nixos/configuration.nix)
 | 
			
		||||
{
 | 
			
		||||
  inputs,
 | 
			
		||||
  outputs,
 | 
			
		||||
  lib,
 | 
			
		||||
  config,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  ...
 | 
			
		||||
}: {
 | 
			
		||||
  # You can import other NixOS modules here
 | 
			
		||||
  imports = [
 | 
			
		||||
    # If you want to use modules your own flake exports (from modules/nixos):
 | 
			
		||||
    # outputs.nixosModules.example
 | 
			
		||||
 | 
			
		||||
    # Or modules from other flakes (such as nixos-hardware):
 | 
			
		||||
    # inputs.hardware.nixosModules.common-cpu-amd
 | 
			
		||||
    # inputs.hardware.nixosModules.common-ssd
 | 
			
		||||
 | 
			
		||||
    # You can also split up your configuration and import pieces of it here:
 | 
			
		||||
    # ./users.nix
 | 
			
		||||
 | 
			
		||||
    # Import your generated (nixos-generate-config) hardware configuration
 | 
			
		||||
    ./hardware-configuration.nix
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  nixpkgs = {
 | 
			
		||||
    # You can add overlays here
 | 
			
		||||
    overlays = [
 | 
			
		||||
      # Add overlays your own flake exports (from overlays and pkgs dir):
 | 
			
		||||
      outputs.overlays.additions
 | 
			
		||||
      outputs.overlays.modifications
 | 
			
		||||
      outputs.overlays.unstable-packages
 | 
			
		||||
 | 
			
		||||
      # You can also add overlays exported from other flakes:
 | 
			
		||||
      # neovim-nightly-overlay.overlays.default
 | 
			
		||||
 | 
			
		||||
      # Or define it inline, for example:
 | 
			
		||||
      # (final: prev: {
 | 
			
		||||
      #   hi = final.hello.overrideAttrs (oldAttrs: {
 | 
			
		||||
      #     patches = [ ./change-hello-to-hi.patch ];
 | 
			
		||||
      #   });
 | 
			
		||||
      # })
 | 
			
		||||
    ];
 | 
			
		||||
    # Configure your nixpkgs instance
 | 
			
		||||
    config = {
 | 
			
		||||
      # Disable if you don't want unfree packages
 | 
			
		||||
      allowUnfree = true;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  nix = {
 | 
			
		||||
    gc = {
 | 
			
		||||
      automatic = true;
 | 
			
		||||
      dates = "weekly";
 | 
			
		||||
      options = "--delete-older-than 7d";
 | 
			
		||||
    };
 | 
			
		||||
    # This will add each flake input as a registry
 | 
			
		||||
    # To make nix3 commands consistent with your flake
 | 
			
		||||
    registry = lib.mapAttrs (_: value: {flake = value;}) inputs;
 | 
			
		||||
 | 
			
		||||
    # This will additionally add your inputs to the system's legacy channels
 | 
			
		||||
    # Making legacy nix commands consistent as well, awesome!
 | 
			
		||||
    nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
 | 
			
		||||
 | 
			
		||||
    settings = {
 | 
			
		||||
      # Enable flakes and new 'nix' command
 | 
			
		||||
      experimental-features = "nix-command flakes";
 | 
			
		||||
      # Deduplicate and optimize nix store
 | 
			
		||||
      auto-optimise-store = true;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  environment.systemPackages = with pkgs; [
 | 
			
		||||
    rage
 | 
			
		||||
    alejandra
 | 
			
		||||
    git-filter-repo
 | 
			
		||||
    home-manager
 | 
			
		||||
    libsForQt5.discover
 | 
			
		||||
    libsForQt5.kdepim-addons
 | 
			
		||||
    libsForQt5.packagekit-qt
 | 
			
		||||
    libportal-qt5
 | 
			
		||||
    noto-fonts
 | 
			
		||||
    noto-fonts-emoji-blob-bin
 | 
			
		||||
    noto-fonts-emoji
 | 
			
		||||
    noisetorch
 | 
			
		||||
    oh-my-zsh
 | 
			
		||||
    pciutils
 | 
			
		||||
    rsync
 | 
			
		||||
    wget
 | 
			
		||||
    zsh
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  # Enable networking
 | 
			
		||||
  networking.networkmanager.enable = 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";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Enable the X11 windowing system.
 | 
			
		||||
  services.xserver.enable = true;
 | 
			
		||||
 | 
			
		||||
  # Enable the KDE Plasma Desktop Environment.
 | 
			
		||||
  services.xserver.displayManager.sddm.enable = true;
 | 
			
		||||
  services.xserver.desktopManager.plasma5.enable = true;
 | 
			
		||||
  services.xserver.displayManager.defaultSession = "plasmawayland";
 | 
			
		||||
 | 
			
		||||
  # Enable flatpak support
 | 
			
		||||
  services.flatpak.enable = true;
 | 
			
		||||
  services.packagekit.enable = true;
 | 
			
		||||
 | 
			
		||||
  # Configure keymap in X11
 | 
			
		||||
  services.xserver = {
 | 
			
		||||
    layout = "us";
 | 
			
		||||
    xkbVariant = "";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Enable CUPS to print documents.
 | 
			
		||||
  services.printing.enable = true;
 | 
			
		||||
 | 
			
		||||
  # Enable bluetooth hardware
 | 
			
		||||
  hardware.bluetooth.enable = true;
 | 
			
		||||
 | 
			
		||||
  # Enable fwupd daemon and user space client
 | 
			
		||||
  services.fwupd.enable = true;
 | 
			
		||||
 | 
			
		||||
  # Enable sound with pipewire.
 | 
			
		||||
  sound.enable = true;
 | 
			
		||||
  hardware.pulseaudio.enable = false;
 | 
			
		||||
  security.rtkit.enable = true;
 | 
			
		||||
  services.pipewire = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    alsa.enable = true;
 | 
			
		||||
    alsa.support32Bit = true;
 | 
			
		||||
    pulse.enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  programs.zsh = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  networking.hostName = "EDI";
 | 
			
		||||
 | 
			
		||||
  boot.loader.systemd-boot.enable = true;
 | 
			
		||||
  boot.loader.systemd-boot.configurationLimit = 3;
 | 
			
		||||
  boot.loader.efi.canTouchEfiVariables = true;
 | 
			
		||||
 | 
			
		||||
  users.users = {
 | 
			
		||||
    lillian = {
 | 
			
		||||
      isNormalUser = true;
 | 
			
		||||
      extraGroups = ["sudo" "networkmanager" "wheel" "vboxsf"];
 | 
			
		||||
      shell = pkgs.zsh;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # Enable completion of system packages by zsh
 | 
			
		||||
  environment.pathsToLink = ["/share/zsh"];
 | 
			
		||||
 | 
			
		||||
  # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
 | 
			
		||||
  system.stateVersion = "unstable";
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue