split config
This commit is contained in:
		
							parent
							
								
									1602292781
								
							
						
					
					
						commit
						5944fe5cca
					
				
					 19 changed files with 271 additions and 276 deletions
				
			
		
							
								
								
									
										104
									
								
								home/vinzenz/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								home/vinzenz/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,104 @@
 | 
			
		|||
inputs @ {
 | 
			
		||||
  config,
 | 
			
		||||
  osConfig,
 | 
			
		||||
  pkgs,
 | 
			
		||||
  lib,
 | 
			
		||||
  ...
 | 
			
		||||
}: let
 | 
			
		||||
  isGnomeEnabled = osConfig.my.desktop.enableGnome;
 | 
			
		||||
in {
 | 
			
		||||
  programs = {
 | 
			
		||||
    home-manager.enable = true;
 | 
			
		||||
    fzf.enable = true;
 | 
			
		||||
    zsh = import ./zsh.nix inputs;
 | 
			
		||||
    git = import ./git.nix;
 | 
			
		||||
    vscode = import ./vscode.nix inputs;
 | 
			
		||||
    ssh = import ./ssh.nix;
 | 
			
		||||
 | 
			
		||||
    direnv = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      nix-direnv.enable = true;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    chromium = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      extensions = [
 | 
			
		||||
        {
 | 
			
		||||
          # ublock origin
 | 
			
		||||
          id = "cjpalhdlnbpafiamejdnhcphjbkeiagm";
 | 
			
		||||
        }
 | 
			
		||||
        {
 | 
			
		||||
          id = "dcpihecpambacapedldabdbpakmachpb";
 | 
			
		||||
          updateUrl = "https://raw.githubusercontent.com/iamadamdev/bypass-paywalls-chrome/master/updates.xml";
 | 
			
		||||
        }
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    eza = {
 | 
			
		||||
      enable = true;
 | 
			
		||||
      git = true;
 | 
			
		||||
      icons = true;
 | 
			
		||||
      extraOptions = [
 | 
			
		||||
        "--group-directories-first"
 | 
			
		||||
        "--header"
 | 
			
		||||
      ];
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  home.packages = with pkgs; [
 | 
			
		||||
    keepassxc
 | 
			
		||||
    insync
 | 
			
		||||
 | 
			
		||||
    telegram-desktop
 | 
			
		||||
    element-desktop
 | 
			
		||||
 | 
			
		||||
    wireguard-tools
 | 
			
		||||
    wirelesstools
 | 
			
		||||
 | 
			
		||||
    alejandra # nix formatter
 | 
			
		||||
 | 
			
		||||
    arduino
 | 
			
		||||
    uucp
 | 
			
		||||
 | 
			
		||||
    kdiff3
 | 
			
		||||
    jetbrains-toolbox
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  editorconfig = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    settings = {
 | 
			
		||||
      "*" = {
 | 
			
		||||
        charset = "utf-8";
 | 
			
		||||
        end_of_line = "lf";
 | 
			
		||||
        trim_trailing_whitespace = true;
 | 
			
		||||
        insert_final_newline = true;
 | 
			
		||||
        max_line_width = 120;
 | 
			
		||||
        indent_style = "space";
 | 
			
		||||
        indent_size = 4;
 | 
			
		||||
      };
 | 
			
		||||
      "*.nix" = {
 | 
			
		||||
        indent_size = 2;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  home.file."policy.json" = {
 | 
			
		||||
    target = ".config/containers/policy.json";
 | 
			
		||||
    text = ''
 | 
			
		||||
      {
 | 
			
		||||
          "default": [
 | 
			
		||||
              {
 | 
			
		||||
                  "type": "insecureAcceptAnything"
 | 
			
		||||
              }
 | 
			
		||||
          ],
 | 
			
		||||
          "transports":
 | 
			
		||||
              {
 | 
			
		||||
                  "docker-daemon":
 | 
			
		||||
                      {
 | 
			
		||||
                          "": [{"type":"insecureAcceptAnything"}]
 | 
			
		||||
                      }
 | 
			
		||||
              }
 | 
			
		||||
      }
 | 
			
		||||
    '';
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										16
									
								
								home/vinzenz/git.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								home/vinzenz/git.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,16 @@
 | 
			
		|||
{
 | 
			
		||||
  enable = true;
 | 
			
		||||
  userName = "Vinzenz Schroeter";
 | 
			
		||||
  userEmail = "vinzenz.f.s@gmail.com";
 | 
			
		||||
 | 
			
		||||
  aliases = {
 | 
			
		||||
    prettylog = "log --pretty=oneline --graph";
 | 
			
		||||
    spring-clean = "!git branch --merged | xargs -n 1 -r git branch -d";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  extraConfig = {
 | 
			
		||||
    pull.ff = "only";
 | 
			
		||||
    merge.tool = "kdiff3";
 | 
			
		||||
    push.autoSetupRemote = "true";
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										47
									
								
								home/vinzenz/ssh.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								home/vinzenz/ssh.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,47 @@
 | 
			
		|||
{
 | 
			
		||||
  enable = true;
 | 
			
		||||
  matchBlocks = {
 | 
			
		||||
    "vpn1" = {
 | 
			
		||||
      host = "vpn1 hetzner-vpn1";
 | 
			
		||||
      hostname = "157.90.146.125"; # 2a01:4f8:c012:7137::/64
 | 
			
		||||
      user = "root";
 | 
			
		||||
    };
 | 
			
		||||
    "vpn1-ts" = {
 | 
			
		||||
      host = "vpn1-ts hetzner-vpn1.donkey-pentatonic.ts.net";
 | 
			
		||||
      hostname = "hetzner-vpn1.donkey-pentatonic.ts.net";
 | 
			
		||||
      user = "root";
 | 
			
		||||
    };
 | 
			
		||||
    "openwrt" = {
 | 
			
		||||
      host = "openwrt openwrt.lan";
 | 
			
		||||
      hostname = "openwrt.lan";
 | 
			
		||||
      user = "root";
 | 
			
		||||
    };
 | 
			
		||||
    "openwrt-ts" = {
 | 
			
		||||
      hostname = "openwrt.donkey-pentatonic.ts.net";
 | 
			
		||||
      port = 2222;
 | 
			
		||||
      user = "root";
 | 
			
		||||
    };
 | 
			
		||||
    "openwrt-j" = {
 | 
			
		||||
      hostname = "openwrt.donkey-pentatonic.ts.net";
 | 
			
		||||
      proxyJump = "vpn1";
 | 
			
		||||
      port = 2222;
 | 
			
		||||
      user = "root";
 | 
			
		||||
    };
 | 
			
		||||
    "pc2-power" = {
 | 
			
		||||
      hostname = "openwrt.donkey-pentatonic.ts.net";
 | 
			
		||||
      proxyJump = "vpn1";
 | 
			
		||||
      port = 2222;
 | 
			
		||||
      user = "pc2-power";
 | 
			
		||||
    };
 | 
			
		||||
    "avd-power" = {
 | 
			
		||||
      # hostname = "2001:678:560:23:9833:63ff:fe2d:f477"
 | 
			
		||||
      # hostname = "195.160.172.25";
 | 
			
		||||
      hostname = "avd-jumphost.club.berlin.ccc.de";
 | 
			
		||||
      user = "power";
 | 
			
		||||
    };
 | 
			
		||||
    "avd" = {
 | 
			
		||||
      hostname = "avd.club.berlin.ccc.de";
 | 
			
		||||
      user = "vinzenz";
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										46
									
								
								home/vinzenz/vscode.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								home/vinzenz/vscode.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,46 @@
 | 
			
		|||
{pkgs, ...}: {
 | 
			
		||||
  enable = true;
 | 
			
		||||
  package = pkgs.vscodium;
 | 
			
		||||
  enableUpdateCheck = false;
 | 
			
		||||
  extensions = with pkgs.vscode-extensions; [
 | 
			
		||||
    bbenoist.nix
 | 
			
		||||
    ms-python.python
 | 
			
		||||
    kamadorueda.alejandra
 | 
			
		||||
    editorconfig.editorconfig
 | 
			
		||||
    yzhang.markdown-all-in-one
 | 
			
		||||
    redhat.vscode-yaml
 | 
			
		||||
    pkief.material-icon-theme
 | 
			
		||||
    mhutchie.git-graph
 | 
			
		||||
    rust-lang.rust-analyzer
 | 
			
		||||
    tamasfe.even-better-toml
 | 
			
		||||
    llvm-vs-code-extensions.vscode-clangd
 | 
			
		||||
    mkhl.direnv
 | 
			
		||||
    vadimcn.vscode-lldb
 | 
			
		||||
    ms-dotnettools.csharp
 | 
			
		||||
  ];
 | 
			
		||||
  userSettings = {
 | 
			
		||||
    "git.autofetch" = true;
 | 
			
		||||
    "update.mode" = "none";
 | 
			
		||||
    "editor.fontFamily" = "'Fira Code', 'Droid Sans Mono', 'monospace', monospace";
 | 
			
		||||
    "editor.fontLigatures" = true;
 | 
			
		||||
    "editor.formatOnSave" = true;
 | 
			
		||||
    "editor.formatOnSaveMode" = "modificationsIfAvailable";
 | 
			
		||||
    "editor.minimap.autohide" = true;
 | 
			
		||||
    "diffEditor.diffAlgorithm" = "advanced";
 | 
			
		||||
    "explorer.excludeGitIgnore" = true;
 | 
			
		||||
    "markdown.extension.tableFormatter.normalizeIndentation" = true;
 | 
			
		||||
    "markdown.extension.toc.orderedList" = false;
 | 
			
		||||
    "telemetry.telemetryLevel" = "off";
 | 
			
		||||
    "redhat.telemetry.enabled" = false;
 | 
			
		||||
    "workbench.startupEditor" = "readme";
 | 
			
		||||
    "workbench.enableExperiments" = false;
 | 
			
		||||
    "workbench.iconTheme" = "material-icon-theme";
 | 
			
		||||
    "rust-analyzer.checkOnSave.command" = "clippy";
 | 
			
		||||
    "extensions.autoUpdate" = false;
 | 
			
		||||
    "extensions.autoCheckUpdates" = false;
 | 
			
		||||
    "\[makefile\]" = {
 | 
			
		||||
      "editor.insertSpaces" = false;
 | 
			
		||||
      "editor.detectIndentation" = false;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										29
									
								
								home/vinzenz/zsh.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								home/vinzenz/zsh.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,29 @@
 | 
			
		|||
{config, ...}: {
 | 
			
		||||
  initExtra = ''
 | 
			
		||||
    eval "$(direnv hook zsh)";
 | 
			
		||||
    export PATH=$PATH:/home/vinzenz/.cargo/bin
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  shellAliases = {
 | 
			
		||||
    my-apply = "sudo nixos-rebuild boot";
 | 
			
		||||
    my-switch = "sudo nixos-rebuild switch";
 | 
			
		||||
    my-update = "sudo nixos-rebuild boot --upgrade";
 | 
			
		||||
    my-pull = "git -C ~/Repos/nixos-configuration pull --rebase";
 | 
			
		||||
    my-fmt = "alejandra .";
 | 
			
		||||
    my-test = "sudo nixos-rebuild test";
 | 
			
		||||
    my-direnvallow = "echo \"use nix\" > .envrc && direnv allow";
 | 
			
		||||
    my-ip4 = "ip addr show | grep 192";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  history = {
 | 
			
		||||
    size = 10000;
 | 
			
		||||
    path = "${config.xdg.dataHome}/zsh/history";
 | 
			
		||||
    expireDuplicatesFirst = true;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  oh-my-zsh = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    theme = "agnoster";
 | 
			
		||||
    plugins = ["git" "sudo" "docker" "systemadmin"];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue