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