diff --git a/.config/nix/flake.lock b/.config/nix/flake.lock index 1587055..69191d8 100644 --- a/.config/nix/flake.lock +++ b/.config/nix/flake.lock @@ -145,16 +145,16 @@ ] }, "locked": { - "lastModified": 1726989464, - "narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=", + "lastModified": 1733951536, + "narHash": "sha256-Zb5ZCa7Xj+0gy5XVXINTSr71fCfAv+IKtmIXNrykT54=", "owner": "nix-community", "repo": "home-manager", - "rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176", + "rev": "1318c3f3b068cdcea922fa7c1a0a1f0c96c22f5f", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-24.05", + "ref": "release-24.11", "repo": "home-manager", "type": "github" } @@ -162,15 +162,15 @@ "lix": { "flake": false, "locked": { - "lastModified": 1723503926, - "narHash": "sha256-Rosl9iA9MybF5Bud4BTAQ9adbY81aGmPfV8dDBGl34s=", - "rev": "bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2", + "lastModified": 1729298361, + "narHash": "sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U=", + "rev": "ad9d06f7838a25beec425ff406fe68721fef73be", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2.tar.gz?rev=bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2" + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/ad9d06f7838a25beec425ff406fe68721fef73be.tar.gz?rev=ad9d06f7838a25beec425ff406fe68721fef73be" }, "original": { "type": "tarball", - "url": "https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz" + "url": "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz" } }, "lix-module": { @@ -183,15 +183,15 @@ ] }, "locked": { - "lastModified": 1723510904, - "narHash": "sha256-zNW/rqNJwhq2lYmQf19wJerRuNimjhxHKmzrWWFJYts=", - "rev": "622a2253a071a1fb97a4d3c8103a91114acc1140", + "lastModified": 1729302939, + "narHash": "sha256-slp0zWHKvbCzhiBwwe6VX6jODEY+PKhHyiAoHgM5Bdc=", + "rev": "6478f624b2a00367e0e3d750a2c7a9f3afb72712", "type": "tarball", - "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/622a2253a071a1fb97a4d3c8103a91114acc1140.tar.gz?rev=622a2253a071a1fb97a4d3c8103a91114acc1140" + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/6478f624b2a00367e0e3d750a2c7a9f3afb72712.tar.gz?rev=6478f624b2a00367e0e3d750a2c7a9f3afb72712" }, "original": { "type": "tarball", - "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz" + "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1.tar.gz" } }, "naersk": { @@ -297,16 +297,16 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1734017764, - "narHash": "sha256-msOfmyJSjAHgIygI/JD0Ae3JsDv4rT54Nlfr5t6MQMQ=", + "lastModified": 1733808091, + "narHash": "sha256-KWwINTQelKOoQgrXftxoqxmKFZb9pLVfnRvK270nkVk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "64e9404f308e0f0a0d8cdd7c358f74e34802494b", + "rev": "a0f3e10d94359665dba45b71b4227b0aeb851f8e", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.05", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } diff --git a/.config/nix/flake.nix b/.config/nix/flake.nix index 1c7006c..dbacced 100644 --- a/.config/nix/flake.nix +++ b/.config/nix/flake.nix @@ -7,18 +7,18 @@ description = "My system configuration"; inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; nix-darwin = { url = "github:LnL7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; }; lix-module = { - url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz"; + url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1.tar.gz"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { - url = "github:nix-community/home-manager/release-24.05"; + url = "github:nix-community/home-manager/release-24.11"; inputs.nixpkgs.follows = "nixpkgs"; }; # Prebuilt package index - provides comma package @@ -86,11 +86,17 @@ platform = "aarch64-darwin"; desktop = "aqua"; }; + "doomhammer@helios" = helper.mkHome { + hostname = "helios"; + platform = "aarch64-darwin"; + desktop = "aqua"; + }; }; #nix run nix-darwin -- switch --flake ~/.config/nix #nix build .#darwinConfigurations.{hostname}.config.system.build.toplevel darwinConfigurations = { "Piotrs-MacBook-Air" = helper.mkDarwin { hostname = "Piotrs-MacBook-Air"; }; + "helios" = helper.mkDarwin { hostname = "helios"; }; }; # Custom packages and modifications, exported as overlays overlays = import ./parts/overlays { inherit inputs; }; diff --git a/.config/nix/home-manager/_mixins/features/basics/default.nix b/.config/nix/home-manager/_mixins/features/basics/default.nix index bde4ba3..e357952 100644 --- a/.config/nix/home-manager/_mixins/features/basics/default.nix +++ b/.config/nix/home-manager/_mixins/features/basics/default.nix @@ -47,7 +47,7 @@ in "--header" ]; git = true; - icons = true; + icons = "auto"; }; fd.enable = true; htop.enable = true; @@ -80,6 +80,8 @@ in enableZshIntegration = true; }; }; - xdg.configFile."htop/htoprc".source = config.lib.file.mkOutOfStoreSymlink "${dir}/htop-config/htoprc"; - xdg.configFile."btop/themes/solarized_light.theme".source = config.lib.file.mkOutOfStoreSymlink "${dir}/btop-config/btop/themes/solarized_light.theme"; + xdg.configFile."htop/htoprc".source = + config.lib.file.mkOutOfStoreSymlink "${dir}/htop-config/htoprc"; + xdg.configFile."btop/themes/solarized_light.theme".source = + config.lib.file.mkOutOfStoreSymlink "${dir}/btop-config/btop/themes/solarized_light.theme"; } diff --git a/.config/nix/systems/darwin/Piotrs-MacBook-Air/default.nix b/.config/nix/systems/darwin/Piotrs-MacBook-Air/default.nix index 958608a..cfbd9cc 100644 --- a/.config/nix/systems/darwin/Piotrs-MacBook-Air/default.nix +++ b/.config/nix/systems/darwin/Piotrs-MacBook-Air/default.nix @@ -1 +1,7 @@ -_: { } +{ }: +{ + imports = [ + ../_mixins/desktop-minimal + ../_mixins/desktop + ]; +} diff --git a/.config/nix/systems/darwin/_mixins/desktop-minimal/apps/default.nix b/.config/nix/systems/darwin/_mixins/desktop-minimal/apps/default.nix new file mode 100644 index 0000000..3515937 --- /dev/null +++ b/.config/nix/systems/darwin/_mixins/desktop-minimal/apps/default.nix @@ -0,0 +1 @@ +_: { imports = [ ./web-browsers ]; } diff --git a/.config/nix/systems/darwin/_mixins/desktop-minimal/apps/web-browsers/default.nix b/.config/nix/systems/darwin/_mixins/desktop-minimal/apps/web-browsers/default.nix new file mode 100644 index 0000000..1bb4fdd --- /dev/null +++ b/.config/nix/systems/darwin/_mixins/desktop-minimal/apps/web-browsers/default.nix @@ -0,0 +1,5 @@ +_: { + homebrew = { + casks = [ "google-chrome" ]; + }; +} diff --git a/.config/nix/systems/darwin/_mixins/desktop-minimal/default.nix b/.config/nix/systems/darwin/_mixins/desktop-minimal/default.nix new file mode 100644 index 0000000..c4d349c --- /dev/null +++ b/.config/nix/systems/darwin/_mixins/desktop-minimal/default.nix @@ -0,0 +1,34 @@ +{ pkgs, ... }: +{ + imports = [ + ./apps + ./features + ]; + + environment.systemPackages = with pkgs; [ ]; + + homebrew = { + # taps = builtins.attrNames config.nix-homebrew.taps; + taps = [ "netbirdio/tap" ]; + casks = [ + "backblaze" + "beeper" + "font-chivo-mono" + "font-iosevka" + "font-iosevka-nerd-font" + "font-monofett" + "netbird-ui" + "notion-calendar" + "obsidian" + # Possible alternative: https://github.com/ther0n/UnnaturalScrollWheels + "scroll-reverser" + "signal" + "tailscale" + "the-unarchiver" + # See also: https://github.com/nix-community/nix-vscode-extensions/blob/master/flake.nix + "visual-studio-code" + "vlc" + "wezterm" + ]; + }; +} diff --git a/.config/nix/systems/darwin/_mixins/desktop-minimal/features/default.nix b/.config/nix/systems/darwin/_mixins/desktop-minimal/features/default.nix new file mode 100644 index 0000000..58ba469 --- /dev/null +++ b/.config/nix/systems/darwin/_mixins/desktop-minimal/features/default.nix @@ -0,0 +1 @@ +_: { imports = [ ./fonts ]; } diff --git a/.config/nix/systems/darwin/_mixins/desktop-minimal/features/fonts/default.nix b/.config/nix/systems/darwin/_mixins/desktop-minimal/features/fonts/default.nix new file mode 100644 index 0000000..167fa63 --- /dev/null +++ b/.config/nix/systems/darwin/_mixins/desktop-minimal/features/fonts/default.nix @@ -0,0 +1,23 @@ +{ pkgs, ... }: +{ + fonts = { + packages = with pkgs; [ + (nerdfonts.override { + fonts = [ + "FiraCode" + "Inconsolata" + "Iosevka" + "IosevkaTerm" + "NerdFontsSymbolsOnly" + ]; + }) + inconsolata + inconsolata-nerdfont + iosevka + font-awesome + noto-fonts-emoji + noto-fonts-monochrome-emoji + ubuntu_font_family + ]; + }; +} diff --git a/.config/nix/systems/darwin/_mixins/desktop/apps/default.nix b/.config/nix/systems/darwin/_mixins/desktop/apps/default.nix index 792f0ad..2cb9bd0 100644 --- a/.config/nix/systems/darwin/_mixins/desktop/apps/default.nix +++ b/.config/nix/systems/darwin/_mixins/desktop/apps/default.nix @@ -2,6 +2,104 @@ _: { imports = [ ./obs-studio ./utilities - ./web-browsers ]; + + environment = { + systemPackages = with pkgs; [ + mas + alacritty + android-file-transfer + audacity + fritzing + gcc-arm-embedded-13 + gimp + grandperspective + inkscape + kitty + openscad + pngpaste + prusa-slicer + jetbrains.pycharm-community + utm + ]; + }; + + homebrew = { + enable = true; + onActivation = { + autoUpdate = true; + # upgrade = true; + cleanup = "zap"; + }; + + caskArgs.no_quarantine = true; + + # taps = builtins.attrNames config.nix-homebrew.taps; + taps = [ "netbirdio/tap" ]; + brews = [ + "conan" + "conan@1" + ]; + casks = [ + "ableton-live-standard" + "arduino-ide" + "autodesk-fusion" + "backblaze" + "backblaze-downloader" + "balenaetcher" + "beeper" + # TODO: Add Camtasia + "creality-print" + # TODO: Add Cricut + # TODO: Add DaVinci Resolve + "firefox" + "focusrite-control" + "font-chivo-mono" + "font-iosevka" + "font-iosevka-nerd-font" + "font-monofett" + "google-chrome" + # "logi-options-plus" + "logitech-unifying" + "kicad" + "microsoft-office" + "mqtt-explorer" + "mu-editor" + "musicbrainz-picard" + "netbird-ui" + "notion-calendar" + "obs" + "obsidian" + "plex" + "raspberry-pi-imager" + "sequential" + # Possible alternative: https://github.com/ther0n/UnnaturalScrollWheels + "scroll-reverser" + "signal" + "syncthing" + "squirreldisk" + "tailscale" + "the-unarchiver" + "thonny" + "unetbootin" + # See also: https://github.com/nix-community/nix-vscode-extensions/blob/master/flake.nix + "visual-studio-code" + "vlc" + "wezterm" + ]; + masApps = { + "Brother P-touch Editor" = 1453365242; + "Keynote" = 409183694; + "Linn Kazoo" = 848937349; + # TODO: Add Konfig somoehow + "Numbers" = 409203825; + "Pages" = 409201541; + "Xcode" = 497799835; + "Zeroconf Browser" = 1355001318; + }; + }; + + services = { + tailscale.enable = true; + }; } diff --git a/.config/nix/systems/darwin/_mixins/desktop/apps/web-browsers/default.nix b/.config/nix/systems/darwin/_mixins/desktop/apps/web-browsers/default.nix index 1bb4fdd..98de396 100644 --- a/.config/nix/systems/darwin/_mixins/desktop/apps/web-browsers/default.nix +++ b/.config/nix/systems/darwin/_mixins/desktop/apps/web-browsers/default.nix @@ -1,5 +1,5 @@ _: { homebrew = { - casks = [ "google-chrome" ]; + casks = [ "firefox" ]; }; } diff --git a/.config/nix/systems/darwin/_mixins/desktop/default.nix b/.config/nix/systems/darwin/_mixins/desktop/default.nix index a7706a6..0cfa85e 100644 --- a/.config/nix/systems/darwin/_mixins/desktop/default.nix +++ b/.config/nix/systems/darwin/_mixins/desktop/default.nix @@ -1,9 +1,7 @@ -{ pkgs, ... }: +{ ... }: { imports = [ ./apps ./features ]; - - environment.systemPackages = with pkgs; [ ]; } diff --git a/.config/nix/systems/darwin/default.nix b/.config/nix/systems/darwin/default.nix index e9d1509..d186138 100644 --- a/.config/nix/systems/darwin/default.nix +++ b/.config/nix/systems/darwin/default.nix @@ -12,7 +12,6 @@ imports = [ inputs.nix-index-database.darwinModules.nix-index ./${hostname} - ./_mixins/desktop ./_mixins/scripts ]; @@ -27,22 +26,7 @@ environment = { systemPackages = with pkgs; [ git - mas nvd - alacritty - android-file-transfer - audacity - fritzing - gcc-arm-embedded-13 - gimp - grandperspective - inkscape - kitty - openscad - pngpaste - prusa-slicer - jetbrains.pycharm-community - utm ]; }; @@ -55,75 +39,6 @@ }; caskArgs.no_quarantine = true; - - # taps = builtins.attrNames config.nix-homebrew.taps; - taps = [ - "homebrew/cask" - "homebrew/cask-fonts" - "homebrew/core" - "netbirdio/tap" - ]; - brews = [ - "conan" - "conan@1" - ]; - casks = [ - "ableton-live-standard" - "arduino-ide" - "autodesk-fusion" - "backblaze" - "backblaze-downloader" - "balenaetcher" - "beeper" - # TODO: Add Camtasia - "creality-print" - # TODO: Add Cricut - # TODO: Add DaVinci Resolve - "firefox" - "focusrite-control" - "font-chivo-mono" - "font-iosevka" - "font-iosevka-nerd-font" - "font-monofett" - "google-chrome" - # "logi-options-plus" - "logitech-unifying" - "kicad" - "microsoft-office" - "mqtt-explorer" - "mu-editor" - "musicbrainz-picard" - "netbird-ui" - "notion-calendar" - "obs" - "obsidian" - "plex" - "raspberry-pi-imager" - "sequential" - # Possible alternative: https://github.com/ther0n/UnnaturalScrollWheels - "scroll-reverser" - "signal" - "syncthing" - "squirreldisk" - "tailscale" - "the-unarchiver" - "thonny" - "unetbootin" - # See also: https://github.com/nix-community/nix-vscode-extensions/blob/master/flake.nix - "visual-studio-code" - "vlc" - "wezterm" - ]; - masApps = { - "Brother P-touch Editor" = 1453365242; - "Keynote" = 409183694; - "Linn Kazoo" = 848937349; - # TODO: Add Konfig somoehow - "Numbers" = 409203825; - "Pages" = 409201541; - "Xcode" = 497799835; - "Zeroconf Browser" = 1355001318; - }; }; nixpkgs = { @@ -144,7 +59,6 @@ gc.automatic = true; optimise.automatic = true; settings = { - auto-optimise-store = true; experimental-features = [ "nix-command" "flakes" @@ -184,9 +98,7 @@ security.pam.enableSudoTouchIdAuth = true; services = { - activate-system.enable = true; nix-daemon.enable = true; - tailscale.enable = true; }; system = { diff --git a/.config/nix/systems/darwin/helios/default.nix b/.config/nix/systems/darwin/helios/default.nix new file mode 100644 index 0000000..4cdd1ac --- /dev/null +++ b/.config/nix/systems/darwin/helios/default.nix @@ -0,0 +1,4 @@ +{ ... }: +{ + imports = [ ../_mixins/desktop-minimal ]; +}