Init configuration from template
This commit is contained in:
		
						commit
						0b578b716f
					
				
					 9 changed files with 654 additions and 0 deletions
				
			
		
							
								
								
									
										118
									
								
								flake.lock
									
										
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										118
									
								
								flake.lock
									
										
									
										generated
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,118 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  "nodes": {
 | 
				
			||||||
 | 
					    "home-manager": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": [
 | 
				
			||||||
 | 
					          "nixpkgs"
 | 
				
			||||||
 | 
					        ]
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1685599623,
 | 
				
			||||||
 | 
					        "narHash": "sha256-Tob4CMOVHue0D3RzguDBCtUmX5ji2PsdbQDbIOIKvsc=",
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "repo": "home-manager",
 | 
				
			||||||
 | 
					        "rev": "93db05480c0c0f30382d3e80779e8386dcb4f9dd",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nix-community",
 | 
				
			||||||
 | 
					        "ref": "release-23.05",
 | 
				
			||||||
 | 
					        "repo": "home-manager",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1686431482,
 | 
				
			||||||
 | 
					        "narHash": "sha256-oPVQ/0YP7yC2ztNsxvWLrV+f0NQ2QAwxbrZ+bgGydEM=",
 | 
				
			||||||
 | 
					        "owner": "nixos",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "d3bb401dcfc5a46ce51cdfb5762e70cc75d082d2",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nixos",
 | 
				
			||||||
 | 
					        "ref": "nixos-23.05",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs-stable": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1697929210,
 | 
				
			||||||
 | 
					        "narHash": "sha256-RkQZif6QhswEwv7484mrKfIU8XmIWm+ED6llbr4IyxM=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "fb000224952bf7749a9e8b3779104ef7ea4465c8",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "ref": "release-23.05",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs-unstable": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1686501370,
 | 
				
			||||||
 | 
					        "narHash": "sha256-G0WuM9fqTPRc2URKP9Lgi5nhZMqsfHGrdEbrLvAPJcg=",
 | 
				
			||||||
 | 
					        "owner": "nixos",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "75a5ebf473cd60148ba9aec0d219f72e5cf52519",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "nixos",
 | 
				
			||||||
 | 
					        "ref": "nixos-unstable",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "nixpkgs_2": {
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1697886341,
 | 
				
			||||||
 | 
					        "narHash": "sha256-AdE67xPty9M9wn36nPVp6aDntIdigrs7UbyaGv1VAaM=",
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "rev": "44881e03af1c730cbb1d72a4d41274a2c957813a",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "NixOS",
 | 
				
			||||||
 | 
					        "ref": "nixpkgs-unstable",
 | 
				
			||||||
 | 
					        "repo": "nixpkgs",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "root": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "home-manager": "home-manager",
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs",
 | 
				
			||||||
 | 
					        "nixpkgs-unstable": "nixpkgs-unstable",
 | 
				
			||||||
 | 
					        "sops-nix": "sops-nix"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "sops-nix": {
 | 
				
			||||||
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "nixpkgs": "nixpkgs_2",
 | 
				
			||||||
 | 
					        "nixpkgs-stable": "nixpkgs-stable"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "locked": {
 | 
				
			||||||
 | 
					        "lastModified": 1697943852,
 | 
				
			||||||
 | 
					        "narHash": "sha256-DaBxUPaZhQ3yLCmAATshYB7qo7NwcMvSFWz9T3bjYYY=",
 | 
				
			||||||
 | 
					        "owner": "Mic92",
 | 
				
			||||||
 | 
					        "repo": "sops-nix",
 | 
				
			||||||
 | 
					        "rev": "30a0ba4a20703b4bfe047fe5def1fc24978e322c",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "original": {
 | 
				
			||||||
 | 
					        "owner": "Mic92",
 | 
				
			||||||
 | 
					        "repo": "sops-nix",
 | 
				
			||||||
 | 
					        "type": "github"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "root": "root",
 | 
				
			||||||
 | 
					  "version": 7
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										86
									
								
								flake.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								flake.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,86 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  description = "NixOS configuration for Lillian Violet's systems";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  inputs = {
 | 
				
			||||||
 | 
					    # Nixpkgs
 | 
				
			||||||
 | 
					    nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05";
 | 
				
			||||||
 | 
					    sops-nix.url = "github:Mic92/sops-nix";
 | 
				
			||||||
 | 
					    # You can access packages and modules from different nixpkgs revs
 | 
				
			||||||
 | 
					    # at the same time. Here's an working example:
 | 
				
			||||||
 | 
					    nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
 | 
				
			||||||
 | 
					    # Also see the 'unstable-packages' overlay at 'overlays/default.nix'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Home manager
 | 
				
			||||||
 | 
					    home-manager.url = "github:nix-community/home-manager/release-23.05";
 | 
				
			||||||
 | 
					    home-manager.inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Add any other flake you might need
 | 
				
			||||||
 | 
					    # hardware.url = "github:nixos/nixos-hardware";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Shameless plug: looking for a way to nixify your themes and make
 | 
				
			||||||
 | 
					    # everything match nicely? Try nix-colors!
 | 
				
			||||||
 | 
					    # nix-colors.url = "github:misterio77/nix-colors";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  outputs = {
 | 
				
			||||||
 | 
					    self,
 | 
				
			||||||
 | 
					    nixpkgs,
 | 
				
			||||||
 | 
					    home-manager,
 | 
				
			||||||
 | 
					    sops-nix,
 | 
				
			||||||
 | 
					    ...
 | 
				
			||||||
 | 
					  } @ inputs: let
 | 
				
			||||||
 | 
					    inherit (self) outputs;
 | 
				
			||||||
 | 
					    # Supported systems for your flake packages, shell, etc.
 | 
				
			||||||
 | 
					    systems = [
 | 
				
			||||||
 | 
					      "aarch64-linux"
 | 
				
			||||||
 | 
					      "i686-linux"
 | 
				
			||||||
 | 
					      "x86_64-linux"
 | 
				
			||||||
 | 
					      "aarch64-darwin"
 | 
				
			||||||
 | 
					      "x86_64-darwin"
 | 
				
			||||||
 | 
					    ];
 | 
				
			||||||
 | 
					    # This is a function that generates an attribute by calling a function you
 | 
				
			||||||
 | 
					    # pass to it, with each system as an argument
 | 
				
			||||||
 | 
					    forAllSystems = nixpkgs.lib.genAttrs systems;
 | 
				
			||||||
 | 
					  in {
 | 
				
			||||||
 | 
					    # Your custom packages
 | 
				
			||||||
 | 
					    # Acessible through 'nix build', 'nix shell', etc
 | 
				
			||||||
 | 
					    packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});
 | 
				
			||||||
 | 
					    # Formatter for your nix files, available through 'nix fmt'
 | 
				
			||||||
 | 
					    # Other options beside 'alejandra' include 'nixpkgs-fmt'
 | 
				
			||||||
 | 
					    formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Your custom packages and modifications, exported as overlays
 | 
				
			||||||
 | 
					    overlays = import ./overlays {inherit inputs;};
 | 
				
			||||||
 | 
					    # Reusable nixos modules you might want to export
 | 
				
			||||||
 | 
					    # These are usually stuff you would upstream into nixpkgs
 | 
				
			||||||
 | 
					    nixosModules = import ./modules/nixos;
 | 
				
			||||||
 | 
					    # Reusable home-manager modules you might want to export
 | 
				
			||||||
 | 
					    # These are usually stuff you would upstream into home-manager
 | 
				
			||||||
 | 
					    homeManagerModules = import ./modules/home-manager;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # NixOS configuration entrypoint
 | 
				
			||||||
 | 
					    # Available through 'nixos-rebuild --flake .#your-hostname'
 | 
				
			||||||
 | 
					    nixosConfigurations = {
 | 
				
			||||||
 | 
					      EDI = nixpkgs.lib.nixosSystem {
 | 
				
			||||||
 | 
					        specialArgs = {inherit inputs outputs;};
 | 
				
			||||||
 | 
					        modules = [
 | 
				
			||||||
 | 
					          # > Our main nixos configuration file <
 | 
				
			||||||
 | 
					          ./nixos/EDI/configuration.nix
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # Standalone home-manager configuration entrypoint
 | 
				
			||||||
 | 
					    # Available through 'home-manager --flake .#your-username@your-hostname'
 | 
				
			||||||
 | 
					    homeConfigurations = {
 | 
				
			||||||
 | 
					      "lillian@EDI" = 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/EDI-Lillian.nix
 | 
				
			||||||
 | 
					        ];
 | 
				
			||||||
 | 
					      };
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										196
									
								
								home-manager/EDI-Lillian.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										196
									
								
								home-manager/EDI-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.05";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										6
									
								
								modules/home-manager/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								modules/home-manager/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					# Add your reusable home-manager modules to this directory, on their own file (https://nixos.wiki/wiki/Module).
 | 
				
			||||||
 | 
					# These should be stuff you would like to share with others, not your personal configurations.
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  # List your module files here
 | 
				
			||||||
 | 
					  # my-module = import ./my-module.nix;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										6
									
								
								modules/nixos/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								modules/nixos/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,6 @@
 | 
				
			||||||
 | 
					# Add your reusable NixOS modules to this directory, on their own file (https://nixos.wiki/wiki/Module).
 | 
				
			||||||
 | 
					# These should be stuff you would like to share with others, not your personal configurations.
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  # List your module files here
 | 
				
			||||||
 | 
					  # my-module = import ./my-module.nix;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										170
									
								
								nixos/EDI/configuration.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										170
									
								
								nixos/EDI/configuration.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,170 @@
 | 
				
			||||||
 | 
					# 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 = {
 | 
				
			||||||
 | 
					    # 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.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 = "23.05";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										44
									
								
								nixos/EDI/hardware-configuration.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								nixos/EDI/hardware-configuration.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,44 @@
 | 
				
			||||||
 | 
					# 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.kernel.sysctl."net.ipv4.icmp_echo_ignore_broadcasts" = 1;
 | 
				
			||||||
 | 
					  boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
 | 
				
			||||||
 | 
					  boot.initrd.kernelModules = [];
 | 
				
			||||||
 | 
					  boot.kernelModules = ["kvm-intel"];
 | 
				
			||||||
 | 
					  boot.extraModulePackages = [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  fileSystems."/" = {
 | 
				
			||||||
 | 
					    device = "/dev/disk/by-uuid/f930d7c6-2798-4e25-abc1-81d02e9abf35";
 | 
				
			||||||
 | 
					    fsType = "ext4";
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  fileSystems."/boot" = {
 | 
				
			||||||
 | 
					    device = "/dev/disk/by-uuid/42ED-068B";
 | 
				
			||||||
 | 
					    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.<interface>.useDHCP`.
 | 
				
			||||||
 | 
					  networking.useDHCP = lib.mkDefault true;
 | 
				
			||||||
 | 
					  # networking.interfaces.enp0s20f0u9u2c2.useDHCP = lib.mkDefault true;
 | 
				
			||||||
 | 
					  # networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
 | 
				
			||||||
 | 
					  powerManagement.cpuFreqGovernor = lib.mkDefault "performance";
 | 
				
			||||||
 | 
					  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										23
									
								
								overlays/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								overlays/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,23 @@
 | 
				
			||||||
 | 
					# This file defines overlays
 | 
				
			||||||
 | 
					{inputs, ...}: {
 | 
				
			||||||
 | 
					  # This one brings our custom packages from the 'pkgs' directory
 | 
				
			||||||
 | 
					  additions = final: _prev: import ../pkgs {pkgs = final;};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # This one contains whatever you want to overlay
 | 
				
			||||||
 | 
					  # You can change versions, add patches, set compilation flags, anything really.
 | 
				
			||||||
 | 
					  # https://nixos.wiki/wiki/Overlays
 | 
				
			||||||
 | 
					  modifications = final: prev: {
 | 
				
			||||||
 | 
					    # example = prev.example.overrideAttrs (oldAttrs: rec {
 | 
				
			||||||
 | 
					    # ...
 | 
				
			||||||
 | 
					    # });
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # When applied, the unstable nixpkgs set (declared in the flake inputs) will
 | 
				
			||||||
 | 
					  # be accessible through 'pkgs.unstable'
 | 
				
			||||||
 | 
					  unstable-packages = final: _prev: {
 | 
				
			||||||
 | 
					    unstable = import inputs.nixpkgs-unstable {
 | 
				
			||||||
 | 
					      system = final.system;
 | 
				
			||||||
 | 
					      config.allowUnfree = true;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										5
									
								
								pkgs/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								pkgs/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,5 @@
 | 
				
			||||||
 | 
					# Custom packages, that can be defined similarly to ones from nixpkgs
 | 
				
			||||||
 | 
					# You can build them using 'nix build .#example'
 | 
				
			||||||
 | 
					pkgs: {
 | 
				
			||||||
 | 
					  # example = pkgs.callPackage ./example { };
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue