commit f0e8ef3e0c58f92a7a3b2450f1c1fc638c025459 Author: Den Afanasyev Date: Thu Oct 2 02:11:54 2025 +0300 dotfiles init diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..3dc951b Binary files /dev/null and b/.DS_Store differ diff --git a/flake.lock b/flake.lock new file mode 100755 index 0000000..302ed50 --- /dev/null +++ b/flake.lock @@ -0,0 +1,178 @@ +{ + "nodes": { + "brew-src": { + "flake": false, + "locked": { + "lastModified": 1758543057, + "narHash": "sha256-lw3V2jOGYphUFHYQ5oARcb6urlbNpUCLJy1qhsGdUmc=", + "owner": "Homebrew", + "repo": "brew", + "rev": "5b236456eb93133c2bd0d60ef35ed63f1c0712f6", + "type": "github" + }, + "original": { + "owner": "Homebrew", + "ref": "4.6.12", + "repo": "brew", + "type": "github" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1759337100, + "narHash": "sha256-CcT3QvZ74NGfM+lSOILcCEeU+SnqXRvl1XCRHenZ0Us=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "004753ae6b04c4b18aa07192c1106800aaacf6c3", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "homebrew-bundle": { + "flake": false, + "locked": { + "lastModified": 1745335228, + "narHash": "sha256-TIKR2UgtyUmHLNZp255/vLs+1I10hXe+sciMEbAGFwE=", + "owner": "homebrew", + "repo": "homebrew-bundle", + "rev": "a3265c84b232e13048ecbf6fc18a2eedfadbeb08", + "type": "github" + }, + "original": { + "owner": "homebrew", + "repo": "homebrew-bundle", + "type": "github" + } + }, + "homebrew-cask": { + "flake": false, + "locked": { + "lastModified": 1759346390, + "narHash": "sha256-LIuZWfdiaOxxx9g3okk3xEkTeAJ5IrR80gIvs/HZfLc=", + "owner": "homebrew", + "repo": "homebrew-cask", + "rev": "526ef01ddeb3b579c5b72c81d9d3fe2b244956a1", + "type": "github" + }, + "original": { + "owner": "homebrew", + "repo": "homebrew-cask", + "type": "github" + } + }, + "homebrew-core": { + "flake": false, + "locked": { + "lastModified": 1759343537, + "narHash": "sha256-D+xQjn01RwZ12o0RKB1LvTm+NXp81/jFrzzTdqKZB5o=", + "owner": "homebrew", + "repo": "homebrew-core", + "rev": "6cdf622ab60e38e182df0ab36d157a66ba54c5ed", + "type": "github" + }, + "original": { + "owner": "homebrew", + "repo": "homebrew-core", + "type": "github" + } + }, + "nix-darwin": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1758805352, + "narHash": "sha256-BHdc43Lkayd+72W/NXRKHzX5AZ+28F3xaUs3a88/Uew=", + "owner": "nix-darwin", + "repo": "nix-darwin", + "rev": "c48e963a5558eb1c3827d59d21c5193622a1477c", + "type": "github" + }, + "original": { + "owner": "nix-darwin", + "ref": "master", + "repo": "nix-darwin", + "type": "github" + } + }, + "nix-homebrew": { + "inputs": { + "brew-src": "brew-src" + }, + "locked": { + "lastModified": 1758598228, + "narHash": "sha256-qr60maXGbZ4FX5tejPRI3nr0bnRTnZ3AbbbfO6/6jq4=", + "owner": "zhaofengli", + "repo": "nix-homebrew", + "rev": "f36e5db56e117f7df701ab152d0d2036ea85218c", + "type": "github" + }, + "original": { + "owner": "zhaofengli", + "repo": "nix-homebrew", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1759036355, + "narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "home-manager": "home-manager", + "homebrew-bundle": "homebrew-bundle", + "homebrew-cask": "homebrew-cask", + "homebrew-core": "homebrew-core", + "nix-darwin": "nix-darwin", + "nix-homebrew": "nix-homebrew", + "nixpkgs": "nixpkgs", + "sops-nix": "sops-nix" + } + }, + "sops-nix": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1759188042, + "narHash": "sha256-f9QC2KKiNReZDG2yyKAtDZh0rSK2Xp1wkPzKbHeQVRU=", + "owner": "Mic92", + "repo": "sops-nix", + "rev": "9fcfabe085281dd793589bdc770a2e577a3caa5d", + "type": "github" + }, + "original": { + "owner": "Mic92", + "repo": "sops-nix", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100755 index 0000000..a57450f --- /dev/null +++ b/flake.nix @@ -0,0 +1,63 @@ +{ + description = "duumxh flake config"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + nix-homebrew.url = "github:zhaofengli/nix-homebrew"; + nix-darwin = { + url = "github:nix-darwin/nix-darwin/master"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + homebrew-core = { + url = "github:homebrew/homebrew-core"; + flake = false; + }; + homebrew-cask = { + url = "github:homebrew/homebrew-cask"; + flake = false; + }; + homebrew-bundle = { + url = "github:homebrew/homebrew-bundle"; + flake = false; + }; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + sops-nix = { + url = "github:Mic92/sops-nix"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + }; + + outputs = inputs@{ self, nixpkgs, nix-darwin, nix-homebrew, homebrew-core, homebrew-cask, homebrew-bundle, home-manager, sops-nix }: { + darwinConfigurations."Dens-MacBook" = nix-darwin.lib.darwinSystem { + system = "aarch64-darwin"; + modules = [ + ./mbp/configuration.nix + sops-nix.darwinModules.sops + + nix-homebrew.darwinModules.nix-homebrew { + nix-homebrew = { + enable = true; + enableRosetta = true; + user = "duumxh"; + taps = { + "homebrew/homebrew-core" = homebrew-core; + "homebrew/homebrew-cask" = homebrew-cask; + "homebrew/homebrew-bundle" = homebrew-bundle; + }; + mutableTaps = false; + }; + } + + home-manager.darwinModules.home-manager { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.duumxh = import ./mbp/home.nix; + } + ]; + }; + darwinPackages = self.darwinConfigurations."Dens-MacBook".pkgs; + }; +} diff --git a/mbp/configuration.nix b/mbp/configuration.nix new file mode 100755 index 0000000..d15a45c --- /dev/null +++ b/mbp/configuration.nix @@ -0,0 +1,71 @@ +{ config, lib, pkgs, ... }: + +{ + + nix.enable = false; + + homebrew = { + enable = true; + + onActivation.autoUpdate = true; + onActivation.upgrade = true; + #onActivation.cleanup = "zap"; + + casks = [ + "bettermouse" + "telegram" + "meta" + "cryptomator" + "citrix-workspace" + "mullvad-vpn" + "vscodium" + "obs" + "arc" + "tailscale-app" + "blender" + "UTM" + "Keka" + "Secretive" + "Obsidian" + "Discord" + "Element" + "IINA" + "ghostty" + "orion" + ]; + + masApps = { + "Bitwarden" = 1352778147; + "DropOver" = 1355679052; + "Yubico Authenticator" = 1497506650; + }; + }; + + system.primaryUser = "duumxh"; + users.users.duumxh.home = "/Users/duumxh"; + + security.pam.services.sudo_local.touchIdAuth = true; + system.stateVersion = 5; + system.defaults = { + screencapture.type = "png"; + dock = { + autohide = true; + autohide-delay = 0.0; + mineffect = "scale"; + minimize-to-application = true; + mru-spaces = false; + show-recents = false; + tilesize = 40; + }; + + finder = { + AppleShowAllFiles = true; + AppleShowAllExtensions = true; + ShowPathbar = true; + ShowStatusBar = true; + }; + }; + + nixpkgs.hostPlatform = "aarch64-darwin"; + nixpkgs.config.allowUnfree = true; +} diff --git a/mbp/home.nix b/mbp/home.nix new file mode 100755 index 0000000..587c79a --- /dev/null +++ b/mbp/home.nix @@ -0,0 +1,144 @@ +{ config, pkgs, lib, ... }: + +{ + + home = { + packages = with pkgs; [ + rclone + talosctl + bat + teleport + ansible + kubectl + opentofu + nerd-fonts.jetbrains-mono + age + sops + deploy-rs + kubernetes-helm + fzf-preview + zsh-fzf-tab + zsh-forgit + zsh-fzf-history-search + ]; + #sessionVariables = { + # SOPS_AGE_KEY_FILE = "/Users/duumxh/.config/sops/age/keys.txt"; + #}; + stateVersion = "25.11"; + }; + + programs = { + ssh = { + enable = true; + }; + git = { + enable = true; + userName = "Den Afanasyev"; + userEmail = "ceo@furry.industries"; + }; + + zsh = { + enable = true; + enableCompletion = true; + syntaxHighlighting.enable = true; + + prezto = { + prompt = { + theme = "pure"; + }; + enable = true; + }; + + autosuggestion = { + #highlight = "fg=#ff00ff,bg=cyan,bold,underline"; + #strategy = [ "completion" "history" ]; + enable = true; + }; + + plugins = [ + { + name = "fzf-tab"; + src = "${pkgs.zsh-fzf-tab}/share/fzf-tab"; + } + ]; + + history = { + append = true; + expireDuplicatesFirst = true; + }; + initContent = lib.mkOrder 500 '' + echo "Hey there raccoon! 🦝🍁" + ''; + #localVariables = {}; + + shellAliases = { + drwn-upd = "sudo darwin-rebuild switch --flake ~/Nix"; + ls = "eza"; + cd = "z"; + cat = "bat"; + k = "kubectl"; + m = "micro"; + h = "helm"; + t = "teleport"; + tctl = "talosctl"; + }; + }; + + fzf = { + colors = { + fg = "-1"; + "fg+" = "#d0d0d0"; + bg = "-1"; + "bg+" = "#262626"; + hl = "#5f87af"; + "hl+" = "#5fd7ff"; + info = "#afaf87"; + marker = "#87ff00"; + prompt = "#d7005f"; + spinner = "#af5fff"; + pointer = "#af5fff"; + header = "#87afaf"; + border = "#262626"; + label = "#aeaeae"; + query = "#d9d9d9"; + }; + defaultOptions = [ + "--border=rounded" + "--border-label" + "--preview-window=border-rounded" + "--prompt=> " + "--marker=>" + "--pointer=◆" + "--separator=─" + "--scrollbar=│" + ]; + enableZshIntegration = true; + enable = true; + }; + + eza = { + enableZshIntegration = true; + enable = true; + }; + + bat = { + enable = true; + }; + + zoxide = { + enableZshIntegration = true; + enable = true; + }; + + micro = { + settings = { + colorscheme = "simple"; + scrollbar = true; + }; + enable = true; + }; + + home-manager.enable = true; + }; + +}