This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / machines / barnacle / configuration.nix
3.9 kB 151 lines
1{ 2 pkgs, 3 self, 4 lib, 5 ... 6}: 7 8{ 9 imports = [ 10 self.inputs.nix-index-database.darwinModules.nix-index 11 self.inputs.nix-rosetta-builder.darwinModules.default 12 ]; 13 clan.core.networking.targetHost = "root@localhost"; 14 programs.nix-index-database.comma.enable = true; 15 16 nixpkgs.hostPlatform = "aarch64-darwin"; 17 environment.systemPackages = [ 18 self.packages.${pkgs.system}.nvim 19 self.packages.${pkgs.system}.pass 20 self.packages.${pkgs.system}.passmenu 21 self.packages.${pkgs.system}.tmux 22 23 self.packages.${pkgs.system}.secretive 24 25 # zsh dependencies 26 pkgs.fzf 27 pkgs.atuin 28 pkgs.gnupg 29 pkgs.pinentry_mac 30 pkgs.lazygit 31 pkgs.sshuttle 32 pkgs.git 33 pkgs.element-desktop 34 pkgs.iterm2 35 pkgs.firefox-devedition 36 pkgs.ripgrep 37 pkgs.alt-tab-macos 38 pkgs.zed-editor 39 pkgs.nixd 40 pkgs.nil 41 pkgs.age-plugin-se 42 ]; 43 44 # Use a custom configuration.nix location. 45 # $ darwin-rebuild switch -I darwin-config=$HOME/.config/nixpkgs/darwin/configuration.nix 46 # environment.darwinConfig = "$HOME/.config/nixpkgs/darwin/configuration.nix"; 47 48 nix = { 49 package = pkgs.nix; 50 settings = { 51 extra-experimental-features = [ 52 "nix-command" 53 "flakes" 54 ]; 55 }; 56 }; 57 58 # homebrew = { 59 # enable = true; 60 # casks = [ 61 # "gpg-suite" 62 # ]; 63 # }; 64 65 # keyboard settings 66 system.keyboard = { 67 enableKeyMapping = true; 68 }; 69 70 # Add skhd for keyboard shortcuts 71 services.skhd = { 72 enable = true; 73 skhdConfig = '' 74 # Open passmenu with Hyper-P 75 ctrl + shift + alt + cmd - p : /run/current-system/sw/bin/passmenu 76 ''; 77 }; 78 79 system.defaults = { 80 # minimal dock 81 dock = { 82 autohide = true; 83 orientation = "left"; 84 show-process-indicators = false; 85 show-recents = false; 86 static-only = true; 87 }; 88 # a finder that tells me what I want to know and lets me work 89 finder = { 90 AppleShowAllExtensions = true; 91 ShowPathbar = true; 92 FXEnableExtensionChangeWarning = false; 93 }; 94 # Tab between form controls and F-row that behaves as F1-F12 95 NSGlobalDomain = { 96 AppleKeyboardUIMode = 3; 97 "com.apple.keyboard.fnState" = true; 98 }; 99 }; 100 101 # Enable Rosetta builder for x86_64 builds 102 nix-rosetta-builder = { 103 enable = true; 104 potentiallyInsecureExtraNixosModule = { 105 # Fix DNS resolution in the VM 106 networking.nameservers = [ 107 "8.8.8.8" 108 "1.1.1.1" 109 ]; 110 }; 111 }; 112 113 # Create /etc/zshrc that loads the nix-darwin environment. 114 programs.zsh.enable = true; # default shell on catalina 115 programs.zsh.shellInit = self.packages.${pkgs.system}.zsh.zshrc; 116 programs.zsh.promptInit = ""; # Disable default prompt 117 programs.zsh.interactiveShellInit = '' 118 export SSH_AUTH_SOCK=/Users/lassulus/Library/Containers/com.maxgoedjen.Secretive.SecretAgent/Data/socket.ssh 119 ''; 120 121 # enable sudo touch 122 security.pam.services.sudo_local.touchIdAuth = true; 123 124 # Enable Touch ID in tmux sessions with pam_reattach 125 security.pam.services.sudo_local.text = lib.mkBefore '' 126 auth optional ${pkgs.pam-reattach}/lib/pam/pam_reattach.so ignore_ssh 127 ''; 128 129 # disable natural scrolling 130 system.defaults.NSGlobalDomain."com.apple.swipescrolldirection" = false; 131 programs.direnv.enable = true; 132 programs.nix-index.enable = true; 133 programs.gnupg.agent = { 134 enable = true; 135 enableSSHSupport = true; 136 }; 137 138 # Used for backwards compatibility, please read the changelog before changing. 139 # $ darwin-rebuild changelog 140 system.stateVersion = 6; 141 142 system.primaryUser = "lassulus"; 143 144 services.openssh.enable = true; 145 users.users.lassulus.openssh.authorizedKeys.keys = [ self.keys.ssh ]; 146 users.users.root.openssh.authorizedKeys.keys = [ self.keys.ssh ]; 147 148 users.users.root.shell = pkgs.zsh; 149 users.users.root.uid = 0; 150 users.knownUsers = [ "root" ]; 151}