diff options
Diffstat (limited to '')
| -rw-r--r-- | darwin-common.nix | 103 | ||||
| -rw-r--r-- | dotfiles/calcurse/conf | 33 | ||||
| -rw-r--r-- | dotfiles/calcurse/keys | 56 | ||||
| -rw-r--r-- | dotfiles/gitconfig | 9 | ||||
| -rw-r--r-- | dotfiles/senpai/senpai.scfg | 3 | ||||
| -rw-r--r-- | dotfiles/ssh/config | 4 | ||||
| -rw-r--r-- | flake.lock | 174 | ||||
| -rw-r--r-- | flake.nix | 71 | ||||
| -rw-r--r-- | home.nix | 96 | ||||
| -rw-r--r-- | hosts/bear/configuration.nix | 57 | ||||
| -rw-r--r-- | hosts/kenosis/configuration.nix | 81 | ||||
| -rwxr-xr-x | rebuild.sh | 1 | ||||
| -rw-r--r-- | setup.sh | 30 | ||||
| -rw-r--r-- | sh.nix | 10 |
14 files changed, 483 insertions, 245 deletions
diff --git a/darwin-common.nix b/darwin-common.nix new file mode 100644 index 0000000..9c52c20 --- /dev/null +++ b/darwin-common.nix @@ -0,0 +1,103 @@ +{ + config, + pkgs, + inputs, + ... +}: { + imports = [ + ./sh.nix + ]; + + # List packages installed in system profile. To search by name, run: + # $ nix-env -qaP | grep wget + environment.systemPackages = with pkgs; [ + ffmpeg + librewolf + lazygit + fastfetch + git + vim-full + senpai + ]; + + programs.zsh.enable = true; + + security.pam.services.sudo_local = { + enable = true; + reattach = true; + touchIdAuth = true; + }; + + system = { + defaults = { + NSGlobalDomain = { + AppleICUForce24HourTime = true; + AppleInterfaceStyle = "Dark"; + AppleShowAllExtensions = true; + AppleShowAllFiles = true; + NSAutomaticCapitalizationEnabled = false; + NSDocumentSaveNewDocumentsToCloud = false; + NSNavPanelExpandedStateForSaveMode2 = true; + NSWindowShouldDragOnGesture = true; + PMPrintingExpandedStateForPrint = true; + PMPrintingExpandedStateForPrint2 = true; + }; + + controlcenter.NowPlaying = true; + + dock = { + minimize-to-application = true; + mru-spaces = false; + show-recents = false; + }; + + finder = { + AppleShowAllExtensions = true; + AppleShowAllFiles = true; + FXEnableExtensionChangeWarning = false; + FXPreferredViewStyle = "Nlsv"; + QuitMenuItem = true; + ShowMountedServersOnDesktop = true; + ShowPathbar = true; + ShowStatusBar = true; + _FXEnableColumnAutoSizing = true; + _FXSortFoldersFirst = true; + }; + + # screencapture = { + # location = "/Users/andrew/Documents/Screenshots"; + # type = "jpg"; + # }; + }; + + keyboard = { + remapCapsLockToEscape = true; + swapLeftCtrlAndFn = true; + enableKeyMapping = true; + }; + }; + + homebrew = { + enable = true; + onActivation.cleanup = "uninstall"; + + taps = [ + ]; + brews = [ + ]; + casks = [ + "keepingyouawake" + "scroll-reverser" + "ghostty" + ]; + }; + + # Used for backwards compatibility, please read the changelog before changing. + # $ darwin-rebuild changelog + system.stateVersion = 6; + + # The platform the configuration will be used on. + nixpkgs.hostPlatform = "aarch64-darwin"; + nixpkgs.config.allowUnfree = true; + nix.settings.experimental-features = ["nix-command" "flakes"]; +} diff --git a/dotfiles/calcurse/conf b/dotfiles/calcurse/conf deleted file mode 100644 index 276a5e8..0000000 --- a/dotfiles/calcurse/conf +++ /dev/null @@ -1,33 +0,0 @@ -appearance.calendarview=monthly -appearance.compactpanels=no -appearance.defaultpanel=calendar -appearance.layout=5 -appearance.headerline=yes -appearance.eventseparator=yes -appearance.dayseparator=yes -appearance.emptyline=yes -appearance.emptyday=-- -appearance.notifybar=yes -appearance.sidebarwidth=2 -appearance.theme=default on default -appearance.todoview=hide-completed -appearance.headingpos=right-justified -daemon.enable=no -daemon.log=no -format.inputdate=1 -format.notifydate=%a %F -format.notifytime=%T -format.appointmenttime=%H:%M -format.outputdate=%D -format.dayheading=%B %e, %Y -general.autogc=no -general.autosave=yes -general.confirmdelete=yes -general.confirmquit=yes -general.firstdayofweek=monday -general.multipledays=yes -general.periodicsave=0 -general.systemevents=yes -notification.command=printf '\a' -notification.notifyall=flagged-only -notification.warning=300 diff --git a/dotfiles/calcurse/keys b/dotfiles/calcurse/keys deleted file mode 100644 index 3304bbb..0000000 --- a/dotfiles/calcurse/keys +++ /dev/null @@ -1,56 +0,0 @@ -# -# Calcurse keys configuration file -# -# In this file the keybindings used by Calcurse are defined. -# It is generated automatically by Calcurse and is maintained -# via the key configuration menu of the interactive user -# interface. It should not be edited directly. - -generic-cancel ESC -generic-select SPC -generic-credits @ -generic-help ? -generic-quit q Q -generic-save s S ^S -generic-reload R -generic-copy c -generic-paste p ^V -generic-change-view TAB -generic-prev-view KEY_BTAB -generic-import i I -generic-export x X -generic-goto g G -generic-other-cmd o O -generic-config-menu C -generic-redraw ^R -generic-add-appt ^A -generic-add-todo ^T -generic-prev-day T ^H -generic-next-day t ^L -generic-prev-week W ^K -generic-next-week w -generic-prev-month M -generic-next-month m -generic-prev-year Y -generic-next-year y -generic-scroll-down ^N -generic-scroll-up ^P -generic-goto-today ^G -generic-command : -move-right l L RGT -move-left h H LFT -move-down j J DWN -move-up k K UP -start-of-week 0 -end-of-week $ -add-item a A -del-item d D -edit-item e E -view-item v V RET -pipe-item | -flag-item ! -repeat r -edit-note n N -view-note > -raise-priority + -lower-priority - diff --git a/dotfiles/gitconfig b/dotfiles/gitconfig new file mode 100644 index 0000000..a508e03 --- /dev/null +++ b/dotfiles/gitconfig @@ -0,0 +1,9 @@ +[user] + name = Skullheadx + email = andrew@montgomery.systems + +[pull] + rebase = true + +[url "git@github.com:"] + insteadOf = https://github.com/ diff --git a/dotfiles/senpai/senpai.scfg b/dotfiles/senpai/senpai.scfg index b907cce..a9a3d19 100644 --- a/dotfiles/senpai/senpai.scfg +++ b/dotfiles/senpai/senpai.scfg @@ -1,5 +1,4 @@ address skullheadx.com nickname Skullheadx username andrew -password-cmd cat "/home/andrew/.soju-pass" -channel #lobsters #emacs +password-cmd pass "Personal/Comm/irc" diff --git a/dotfiles/ssh/config b/dotfiles/ssh/config new file mode 100644 index 0000000..03b2c6e --- /dev/null +++ b/dotfiles/ssh/config @@ -0,0 +1,4 @@ +Host github.com + AddKeysToAgent yes + IdentityFile ~/.ssh/id_ed25519 + @@ -37,34 +37,33 @@ "type": "github" } }, - "hjem": { + "home-manager": { "inputs": { - "nix-darwin": "nix-darwin", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1780199518, - "narHash": "sha256-NhtWx0youXYRvcqtL+sjdqoZinMcnjcwRsh6eBJUZLg=", - "owner": "feel-co", - "repo": "hjem", - "rev": "ffa433dd86e761de45ef985d4293f31a4d2a775d", + "lastModified": 1782657028, + "narHash": "sha256-PHTCpYZCMzJYS3phhywqRAZphKVr2zjvlGYa+H20ZZ4=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "4ad9aaae70c9aaab504127f926c0fa9cfbc2b365", "type": "github" }, "original": { - "owner": "feel-co", - "repo": "hjem", + "owner": "nix-community", + "repo": "home-manager", "type": "github" } }, "mnw": { "locked": { - "lastModified": 1778541201, - "narHash": "sha256-n0twkzWexzjsoDycOTvvQNuGEdg62UiNHYcFCduYpKI=", + "lastModified": 1780772958, + "narHash": "sha256-VKKe8r4pwCGWZ3Yr9CPN129R4S3CKLSrlYqdYz3vKpM=", "owner": "Gerg-L", "repo": "mnw", - "rev": "1a3573fc9d2486738fe0b2cacc5cd10dd5f3a445", + "rev": "0871dbf63a53610c95db04439ed8ea4d6ec9c160", "type": "github" }, "original": { @@ -73,156 +72,34 @@ "type": "github" } }, - "my-dmenu": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1781402344, - "narHash": "sha256-vhY6GC5xLZtx0tdJendPRq72LrsBYJcEJ7zrc4MYOHw=", - "ref": "refs/heads/master", - "rev": "91e229306f4e847fa70d1d004b48c24723a8bfb6", - "revCount": 629, - "type": "git", - "url": "git://git.skullheadx.com/dmenu.git" - }, - "original": { - "type": "git", - "url": "git://git.skullheadx.com/dmenu.git" - } - }, - "my-dwm": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1781402267, - "narHash": "sha256-hAr/RzrOHXhavNUrpGCkHsnDDdy7eiNY9tMo5kVg7a8=", - "ref": "refs/heads/master", - "rev": "06e55b0ac5b05f7d50af0bc95e3ab60be1b7892c", - "revCount": 1746, - "type": "git", - "url": "git://git.skullheadx.com/dwm.git" - }, - "original": { - "type": "git", - "url": "git://git.skullheadx.com/dwm.git" - } - }, - "my-slstatus": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1777653948, - "narHash": "sha256-oJ4BGbTjsaD39xcI9V9ICsKz9oCRHpsxqxL4ZL8NJjw=", - "ref": "refs/heads/master", - "rev": "07e311ed5966079fbff18da4089279a77b60831b", - "revCount": 624, - "type": "git", - "url": "git://git.skullheadx.com/slstatus.git" - }, - "original": { - "type": "git", - "url": "git://git.skullheadx.com/slstatus.git" - } - }, - "my-st": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1781403572, - "narHash": "sha256-ffX9W4Aouilh+bErk3A31rEJWq88caP+ddR0JYzfDMM=", - "ref": "refs/heads/master", - "rev": "152d350c2e341ba7960da2117372af62426bfb24", - "revCount": 1192, - "type": "git", - "url": "git://git.skullheadx.com/st.git" - }, - "original": { - "type": "git", - "url": "git://git.skullheadx.com/st.git" - } - }, - "my-surf": { - "inputs": { - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1777933639, - "narHash": "sha256-BMZmBTKFy8iab051rmXBHUZcfaav/c4GR9rpgdCR6XM=", - "ref": "refs/heads/surf-webkit2", - "rev": "a9203494a3895f95a0207dabf7c587e60dab45c8", - "revCount": 620, - "type": "git", - "url": "git://git.skullheadx.com/surf.git" - }, - "original": { - "type": "git", - "url": "git://git.skullheadx.com/surf.git" - } - }, - "ndg": { - "inputs": { - "nixpkgs": [ - "nvf", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1779233504, - "narHash": "sha256-YIKEyzh0NFQlD0O92LQQNMoVCDwV8yw1Xz0Iu+4ZC5U=", - "owner": "feel-co", - "repo": "ndg", - "rev": "86f6644411a64d5413711895b7cf6e0e1be465b6", - "type": "github" - }, - "original": { - "owner": "feel-co", - "ref": "refs/tags/v2.8.0", - "repo": "ndg", - "type": "github" - } - }, "nix-darwin": { "inputs": { "nixpkgs": [ - "hjem", "nixpkgs" ] }, "locked": { - "lastModified": 1777780666, - "narHash": "sha256-8wURyQMdDkGUarSTKOGdCuFfYiwa3HbzwscUfn3STDE=", + "lastModified": 1781761792, + "narHash": "sha256-rCPytmKNjctLloB6UgK5CRrHSwV4b0ygxtJLPPp8R14=", "owner": "nix-darwin", "repo": "nix-darwin", - "rev": "8c62fba0854ba15c8917aed18894dbccb48a3777", + "rev": "a1fa429e945becaf60468600daf649be4ba0350c", "type": "github" }, "original": { "owner": "nix-darwin", + "ref": "master", "repo": "nix-darwin", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1779560665, - "narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=", + "lastModified": 1782467914, + "narHash": "sha256-pGvFkM8N0xEkIIXDe5YYfbEAvHrk4IxBrjB/x8OomhE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786", + "rev": "e73de5be04e0eff4190a1432b946d469c794e7b4", "type": "github" }, "original": { @@ -237,18 +114,17 @@ "flake-compat": "flake-compat", "flake-parts": "flake-parts", "mnw": "mnw", - "ndg": "ndg", "nixpkgs": [ "nixpkgs" ], "systems": "systems" }, "locked": { - "lastModified": 1780042000, - "narHash": "sha256-RxFOqPMAlbWiWwh7CQ0bIHIdt4D5gAttx3YVifBBWgE=", + "lastModified": 1782660650, + "narHash": "sha256-d4Ndt82q9bhL+iKFr1reufZyE/MTdULzN3kEkXsNG88=", "owner": "notashelf", "repo": "nvf", - "rev": "07b57ebc6c9e778c536ac0ff1b01fb18dc90239a", + "rev": "18d2d23191250c7f597d85da07d860eb05f9e1be", "type": "github" }, "original": { @@ -259,12 +135,8 @@ }, "root": { "inputs": { - "hjem": "hjem", - "my-dmenu": "my-dmenu", - "my-dwm": "my-dwm", - "my-slstatus": "my-slstatus", - "my-st": "my-st", - "my-surf": "my-surf", + "home-manager": "home-manager", + "nix-darwin": "nix-darwin", "nixpkgs": "nixpkgs", "nvf": "nvf" } @@ -1,10 +1,10 @@ { - description = "Based and Minimal Flake"; + description = "Based and Minimal Flake For Darwin"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - hjem = { - url = "github:feel-co/hjem"; + nix-darwin = { + url = "github:nix-darwin/nix-darwin/master"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -36,6 +36,14 @@ url = "github:notashelf/nvf"; inputs.nixpkgs.follows = "nixpkgs"; }; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + hjem = { + url = "github:feel-co/hjem"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = { self, @@ -47,6 +55,8 @@ my-st, my-dmenu, nvf, + nix-darwin, + home-manager, } @ inputs: let system = "x86_64-linux"; pkgs = nixpkgs.legacyPackages.${system}; @@ -54,6 +64,9 @@ inherit pkgs; modules = [./nvf/nvf.nix]; }; + + system2 = "aarch64-darwin"; + pkgs = nixpkgs.legacyPackages.${system2}; in { nixosConfigurations.nepsis = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs customNeovim;}; @@ -75,5 +88,57 @@ }; packages.${system}.my-neovim = customNeovim.neovim; + + packages.${system2}.my-neovim = customNeovim.neovim; + darwinConfigurations = { + kenosis = nix-darwin.lib.darwinSystem { + specialArgs = {inherit inputs customNeovim;}; + modules = [ + ./darwin-common.nix + ./hosts/kenosis/configuration.nix + ./overlays.nix + home-manager.darwinModules.home-manager + { + users.users.andrew = { + home = /Users/andrew; + }; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { + inherit inputs; + }; + home-manager.users.andrew = { + imports = [./home.nix]; + home.username = "andrew"; + home.homeDirectory = /Users/andrew/; + }; + } + ]; + }; + bear = nix-darwin.lib.darwinSystem { + specialArgs = {inherit inputs customNeovim;}; + modules = [ + ./darwin-common.nix + ./hosts/bear/configuration.nix + ./overlays.nix + home-manager.darwinModules.home-manager + { + users.users.andrewmontgomery = { + home = /Users/andrewmontgomery; + }; + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.extraSpecialArgs = { + inherit inputs; + }; + home-manager.users.andrewmontgomery = { + imports = [./home.nix]; + home.username = "andrewmontgomery"; + home.homeDirectory = /Users/andrewmontgomery; + }; + } + ]; + }; + }; }; } diff --git a/home.nix b/home.nix new file mode 100644 index 0000000..ce48a66 --- /dev/null +++ b/home.nix @@ -0,0 +1,96 @@ +{ + config, + pkgs, + ... +}: { + # home.username = username; + # home.homeDirectory = homeDir; + # You can update Home Manager without changing this value. See + # the Home Manager release notes for a list of state version + # changes in each release. + home.stateVersion = "25.11"; + programs.home-manager.enable = true; + + programs.fzf = { + enable = true; + enableZshIntegration = true; + }; + programs.zoxide = { + enable = true; + enableZshIntegration = true; + }; + + home.file = { + ".config/senpai/senpai.scfg".source = ./dotfiles/senpai/senpai.scfg; + }; + + programs.emacs = { + enable = true; + extraConfig = '' + ;;; -*- lexical-binding: t -*- + (custom-set-variables + ;; custom-set-variables was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + '(custom-enabled-themes '(modus-vivendi-tinted)) + '(rcirc-default-nick "Skullheadx") + '(rcirc-server-alist + '(("irc.libera.chat" :port 6697 :channels ("#emacs" "#lobsters" "#openbsd") + :encryption tls)))) + (custom-set-faces + ;; custom-set-faces was added by Custom. + ;; If you edit it by hand, you could mess it up, so be careful. + ;; Your init file should contain only one such instance. + ;; If there is more than one, they won't work right. + ) + (global-set-key (kbd "C-c l") #'org-store-link) + (global-set-key (kbd "C-c a") #'org-agenda) + (global-set-key (kbd "C-c c") #'org-capture) + (setq org-agenda-files '("~/org")) + (setq org-todo-keywords + '((sequence + "TODO(t)" + "NEXT(n)" + "WAIT(w@)" + "|" + "DONE(d)" + "CANCELLED(c@)"))) + (setq org-capture-templates + '(("t" "Todo" entry + (file "~/org/inbox.org") + "* TODO %?\n%U"))) + (setq org-agenda-custom-commands + '(("n" "Next Actions" + todo "NEXT"))) + (setq org-log-done 'time) + + (fido-vertical-mode 1) + + ;; Nix syntax + (use-package nix-mode + :mode "\\.nix\\'") + + ;; LSP + (use-package lsp-mode + :hook (nix-mode . lsp-deferred)) + + ;; Optional UI helpers + (use-package lsp-ui + :commands lsp-ui-mode) + + ;; Formatting + (use-package apheleia + :config + (setf (alist-get 'nix-mode apheleia-mode-alist) 'alejandra) + (apheleia-global-mode +1)) + ''; + extraPackages = epkgs: + with epkgs; [ + nix-mode + lsp-mode + lsp-ui + apheleia + ]; + }; +} diff --git a/hosts/bear/configuration.nix b/hosts/bear/configuration.nix new file mode 100644 index 0000000..bf9c10d --- /dev/null +++ b/hosts/bear/configuration.nix @@ -0,0 +1,57 @@ +{ + config, + pkgs, + inputs, + customNeovim, + ... +}: { + networking = { + computerName = "bear"; + hostName = "bear"; + localHostName = "bear"; + }; + # Primary user for user-specific settings (dock, etc.) + system.primaryUser = "andrewmontgomery"; + # List packages installed in system profile. To search by name, run: + # $ nix-env -qaP | grep wget + environment.systemPackages = with pkgs; [ + customNeovim.neovim + senpai + mpv + ]; + + homebrew = { + enable = true; + user = "andrewmontgomery"; + + taps = [ + ]; + brews = [ + ]; + casks = [ + "keepassxc" + "protonvpn" + "selfcontrol" + "kdenlive" + "audacity" + "steam" + ]; + }; + # Dock configuration + system.defaults.dock = { + persistent-apps = [ + "/System/Applications/Reminders.app" + "/System/Applications/Calendar.app" + "/System/Applications/Music.app" + "/System/Applications/Messages.app" + + "/Applications/KeePassXC.app" + "/Applications/Ghostty.app" + # "/Applications/Nix Apps/Brave Browser.app" + "/Applications/Nix Apps/LibreWolf.app" + # "/Applications/Nix Apps/UTM.app" + + "/System/Applications/System Settings.app" + ]; + }; +} diff --git a/hosts/kenosis/configuration.nix b/hosts/kenosis/configuration.nix new file mode 100644 index 0000000..637db89 --- /dev/null +++ b/hosts/kenosis/configuration.nix @@ -0,0 +1,81 @@ +{ + config, + pkgs, + inputs, + customNeovim, + ... +}: { + networking = { + computerName = "kenosis"; + hostName = "kenosis"; + localHostName = "kenosis"; + }; + # Primary user for user-specific settings (dock, etc.) + system.primaryUser = "andrew"; + # List packages installed in system profile. To search by name, run: + # $ nix-env -qaP | grep wget + environment.systemPackages = with pkgs; [ + # work tools + go + jdk17 + (google-cloud-sdk.withExtraComponents [ + google-cloud-sdk.components.gke-gcloud-auth-plugin + google-cloud-sdk.components.beta + ]) + nodejs + yarn + kubectl + ffmpeg + dbeaver-bin + ngrok + + claude-code + air + pnpm + librewolf + lazygit + fastfetch + customNeovim.neovim + git + go-swag + blender + (python313.withPackages (ps: + with ps; [ + numpy + ])) + ]; + + homebrew = { + enable = true; + user = "andrew"; + + taps = [ + ]; + brews = [ + "openssh" + "redis" + ]; + casks = [ + "keepingyouawake" + "feishu" + "surfshark" + "scroll-reverser" + "google-chrome" + "firefox" + "chatgpt" + "capcut" + ]; + }; + + # Dock configuration + system.defaults.dock = { + persistent-apps = [ + "/Applications/Nix Apps/Librewolf.app" + "/Applications/Feishu.app" + "/Applications/Ghostty.app" + "/Applications/Nix Apps/DBeaver.app" + "/Applications/Surfshark.app" + "/System/Applications/Utilities/Activity Monitor.app" + ]; + }; +} diff --git a/rebuild.sh b/rebuild.sh new file mode 100755 index 0000000..57cebc7 --- /dev/null +++ b/rebuild.sh @@ -0,0 +1 @@ +sudo darwin-rebuild switch --flake . diff --git a/setup.sh b/setup.sh new file mode 100644 index 0000000..8c4e67c --- /dev/null +++ b/setup.sh @@ -0,0 +1,30 @@ +curl -sSf -L https://install.lix.systems/lix | sh -s -- install +. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh +nix --version + +mkdir -p ~/src +cd ~/src +git clone https://github.com/Skullheadx/dotfiles.git +cd dotfiles +git fetch origin +git checkout -b new-darwin origin/new-darwin + +/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" +echo >>/Users/andrew/.zprofile +echo 'eval "$(/opt/homebrew/bin/brew shellenv zsh)"' >>/Users/andrew/.zprofile +eval "$(/opt/homebrew/bin/brew shellenv zsh)" + +sudo mkdir -p /etc/nix-darwin +sudo chown $(id -nu):$(id -ng) /etc/nix-darwin +cd /etc/nix-darwin + +# To use Nixpkgs unstable: +nix flake init -t nix-darwin/master + +sed -i '' "s/simple/$(scutil --get LocalHostName)/" flake.nix + +sudo nix run nix-darwin/master#darwin-rebuild -- switch + +zsh +cd ~/src/dotfiles +sudo darwin-rebuild switch --flake . @@ -24,6 +24,16 @@ nix-upd-sl = "sudo nix flake update my-slstatus my-dwm my-surf my-st my-dmenu"; }; }; + programs.zsh = { + enable = true; + enableAutosuggestions = true; + enableBashCompletion = true; + enableCompletion = true; + enableFastSyntaxHighlighting = true; + enableFzfCompletion = true; + enableFzfGit = true; + enableFzfHistory = true; + }; environment.etc."inputrc".text = '' set editing-mode vi |
