diff options
| -rw-r--r-- | flake.lock | 28 | ||||
| -rw-r--r-- | flake.nix | 36 | ||||
| -rw-r--r-- | lib/default.nix | 15 | ||||
| -rw-r--r-- | machines/work.nix | 122 | ||||
| -rw-r--r-- | profiles/core/home.nix | 2 | ||||
| -rw-r--r-- | profiles/core/lf.nix | 1 | ||||
| -rw-r--r-- | profiles/core/meta.nix | 4 | ||||
| -rw-r--r-- | profiles/core/packages.nix | 6 |
8 files changed, 68 insertions, 146 deletions
@@ -310,9 +310,7 @@ }, "nix-darwin": { "inputs": { - "nixpkgs": [ - "nixpkgs" - ] + "nixpkgs": "nixpkgs_3" }, "locked": { "lastModified": 1712307593, @@ -375,6 +373,20 @@ }, "nixpkgs_3": { "locked": { + "lastModified": 1728249353, + "narHash": "sha256-7NBJm1jfMeAowE1J2oljYqWVvI9X7FyyxBY4O8uB/Os=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "c8a17040be4a20b29589cb4043a9e0c36af1930e", + "type": "github" + }, + "original": { + "id": "nixpkgs", + "type": "indirect" + } + }, + "nixpkgs_4": { + "locked": { "lastModified": 1720768451, "narHash": "sha256-EYekUHJE2gxeo2pM/zM9Wlqw1Uw2XTJXOSAO79ksc4Y=", "owner": "nixos", @@ -389,7 +401,7 @@ "type": "github" } }, - "nixpkgs_4": { + "nixpkgs_5": { "locked": { "lastModified": 1709703039, "narHash": "sha256-6hqgQ8OK6gsMu1VtcGKBxKQInRLHtzulDo9Z5jxHEFY=", @@ -404,7 +416,7 @@ "type": "indirect" } }, - "nixpkgs_5": { + "nixpkgs_6": { "locked": { "lastModified": 1713284584, "narHash": "sha256-rRuPBJD9+yjz7tY3xC/BvFUwloutynR9piiVE6fhGqo=", @@ -427,7 +439,7 @@ "home-manager": "home-manager", "neovim-nightly-overlay": "neovim-nightly-overlay", "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs_3", + "nixpkgs": "nixpkgs_4", "simple-nixos-mailserver": "simple-nixos-mailserver", "sops-nix": "sops-nix" } @@ -436,7 +448,7 @@ "inputs": { "blobs": "blobs", "flake-compat": "flake-compat_4", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_5", "utils": "utils_2" }, "locked": { @@ -455,7 +467,7 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_6", "nixpkgs-stable": "nixpkgs-stable" }, "locked": { @@ -17,7 +17,6 @@ neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay"; nix-darwin = { url = "path:/Users/ivi/nix-darwin"; - inputs.nixpkgs.follows = "nixpkgs"; }; }; @@ -27,12 +26,14 @@ home-manager, sops-nix, deploy-rs, + nix-darwin, ... }: let lib = - (nixpkgs.lib.extend + ((nixpkgs.lib.extend (_: _: home-manager.lib)).extend - (import ./lib inputs); + (_: _: nix-darwin.lib)).extend + (import ./lib inputs); in with lib; rec { inherit lib; @@ -101,35 +102,38 @@ }; }; - work = { - system = "aarch64-darwin"; + vm-aarch64 = { + system = "aarch64-linux"; modules = [ - ./machines/work.nix + ./machines/vm-aarch64.nix ] - ++ modulesIn ./profiles/core; + ++ modulesIn ./profiles/core + ++ modulesIn ./profiles/graphical; opts = { - isDarwin = true; + isStation = true; syncthing = { enable = true; - id = "GR5MHK2-HDCFX4I-Y7JYKDN-EFTQFG6-24CXSHB-M5C6R3G-2GWX5ED-VEPAQA7"; + id = "LDZVZ6H-KO3BKC6-FMLZOND-MKXI4DF-SNT27OT-Q5KMN2M-A2DYFNQ-3BWUYA6"; }; }; }; + }; - vm-aarch64 = { - system = "aarch64-linux"; + darwinConfigurations = mkSystems { + work = { + system = "aarch64-darwin"; modules = [ - ./machines/vm-aarch64.nix + ./machines/work.nix ] - ++ modulesIn ./profiles/core - ++ modulesIn ./profiles/graphical; + ++ modulesIn ./profiles/core; opts = { - isStation = true; + isDarwin = true; + configPath = "/Users/${my.username}/nix-config"; syncthing = { enable = true; - id = "LDZVZ6H-KO3BKC6-FMLZOND-MKXI4DF-SNT27OT-Q5KMN2M-A2DYFNQ-3BWUYA6"; + id = "GR5MHK2-HDCFX4I-Y7JYKDN-EFTQFG6-24CXSHB-M5C6R3G-2GWX5ED-VEPAQA7"; }; }; }; diff --git a/lib/default.nix b/lib/default.nix index 960a7a4..f677a89 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -33,8 +33,16 @@ inputs: lib: prev: with lib; rec { }: let machine = machines.${name}; + homeManagerModule = (if lib.hasInfix "darwin" system then + [inputs.home-manager.darwinModules.default] + else + [inputs.home-manager.nixosModules.default]); + systemForPlatform = (if lib.hasInfix "darwin" system then + lib.darwinSystem + else + lib.nixosSystem); in - lib.nixosSystem { + systemForPlatform { inherit lib system; specialArgs = { inherit (inputs) self; @@ -43,10 +51,7 @@ inputs: lib: prev: with lib; rec { modules = modules ++ - (if lib.hasInfix "darwin" system then - [inputs.home-manager.darwinModules.default] - else - [inputs.home-manager.nixosModules.default]) + homeManagerModule ++ [ ({pkgs, ...}: { nixpkgs.overlays = with lib; [ diff --git a/machines/work.nix b/machines/work.nix index 5b65772..9761e5c 100644 --- a/machines/work.nix +++ b/machines/work.nix @@ -24,7 +24,7 @@ isNormalUser = mkSinkUndeclaredOptions {}; }; config = { - home = "/Users/${ivi.username}"; + home = "/Users/${my.username}"; }; })); }; @@ -33,20 +33,20 @@ # List packages installed in system profile. To search by name, run: # $ nix-env -qaP | grep wget environment.systemPackages = - [ pkgs.qemu - pkgs.kitty + [ # pkgs.qemu + # pkgs.kitty pkgs.openssh - pkgs.python311 - pkgs.mpv + # pkgs.python311 + # pkgs.mpv pkgs.kubelogin pkgs.zsh pkgs.bashInteractive - pkgs.awscli2 + # pkgs.awscli2 pkgs.skhd - pkgs.act + # pkgs.act pkgs.yubikey-manager - pkgs.gomplate - pkgs.just + # pkgs.gomplate + # pkgs.just ]; hm = { home = { @@ -60,106 +60,6 @@ target = ".gnupg/gpg-agent.conf"; }; }; - programs.kitty = { - enable = true; - shellIntegration = { - enableZshIntegration = true; - }; - extraConfig = '' - allow_remote_control yes - cursor_shape block - font_family JetBrainsMono Nerd Font Mono - text_composition_strategy platform - cursor_blink_interval 0 - draw_minimal_borders yes - hide_window_decorations no - confirm_os_window_close 0 - macos_option_as_alt yes - linux_display_server x11 - - clear_all_shortcuts yes - kitty_mod alt - mouse_map right press ungrabbed mouse_select_command_output - map kitty_mod+v mouse_select_command_output - scrollback_pager less --chop-long-lines --RAW-CONTROL-CHARS +INPUT_LINE_NUMBER - - map kitty_mod+shift+k change_font_size all +2.0 - map kitty_mod+shift+j change_font_size all -2.0 - - map kitty_mod+k scroll_to_prompt -1 - map kitty_mod+j scroll_to_prompt 1 - map kitty_mod+l show_last_visited_command_output - map kitty_mod+shift+l show_scrollback - - map kitty_mod+w>p show_last_visited_command_output - map kitty_mod+w>shift+p show_first_command_output_on_screen - - map kitty_mod+w>_ toggle_layout stack - map kitty_mod+w>= goto_layout fat - map kitty_mod+w>g goto_layout grid - - map kitty_mod+w>c close_window - map kitty_mod+w>j neighboring_window bottom - map kitty_mod+w>k neighboring_window top - map kitty_mod+w>h neighboring_window left - map kitty_mod+w>l neighboring_window right - map kitty_mod+w>e open_url_with_hints - map kitty_mod+w>space move_window_to_top - map kitty_mod+w>shift+k move_window_forward - map kitty_mod+w>shift+j move_window_backward - - map kitty_mod+enter new_window - map kitty_mod+r load_config_file - map cmd+c copy_to_clipboard - map cmd+v paste_from_clipboard - map cmd+q quit - - ## name: Kanagawa - ## license: MIT - ## author: Tommaso Laurenzi - ## upstream: https://github.com/rebelot/kanagawa.nvim/ - - - background #1F1F28 - foreground #DCD7BA - selection_background #2D4F67 - selection_foreground #C8C093 - url_color #72A7BC - cursor #C8C093 - - # Tabs - active_tab_background #1F1F28 - active_tab_foreground #C8C093 - inactive_tab_background #1F1F28 - inactive_tab_foreground #727169 - #tab_bar_background #15161E - - # normal - color0 #16161D - color1 #C34043 - color2 #76946A - color3 #C0A36E - color4 #7E9CD8 - color5 #957FB8 - color6 #6A9589 - color7 #C8C093 - - # bright - color8 #727169 - color9 #E82424 - color10 #98BB6C - color11 #E6C384 - color12 #7FB4CA - color13 #938AA9 - color14 #7AA89F - color15 #DCD7BA - - - # extended colors - color16 #FFA066 - color17 #FF5D62 - ''; - }; }; networking.hostName = "work"; @@ -306,7 +206,7 @@ ''} ''; }; - services.sketchybar.enable = true; + services.sketchybar.enable = false; services.yabai = { enable = false; package = pkgs.yabai; @@ -374,7 +274,7 @@ # The platform the configuration will be used on. nixpkgs.hostPlatform = "aarch64-darwin"; - users.users.${ivi.username} = { + users.users.${my.username} = { shell = pkgs.zsh; }; environment.shells = [pkgs.bashInteractive pkgs.zsh]; diff --git a/profiles/core/home.nix b/profiles/core/home.nix index b50e54b..c494339 100644 --- a/profiles/core/home.nix +++ b/profiles/core/home.nix @@ -301,7 +301,7 @@ k = "kubectl "; d = "docker "; ls = "ls --color=auto"; - s = "${if machine.isDarwin then "darwin-rebuild" else "sudo nixos-rebuild"} switch --flake /nix-config#${config.networking.hostName}"; + s = "${if machine.isDarwin then "darwin-rebuild" else "sudo nixos-rebuild"} switch --flake ${config.lib.meta.configPath}#${config.networking.hostName}"; b = "/run/current-system/bin/switch-to-configuration boot"; v = "vi "; e = "vi "; diff --git a/profiles/core/lf.nix b/profiles/core/lf.nix index ab7d686..c21a0d7 100644 --- a/profiles/core/lf.nix +++ b/profiles/core/lf.nix @@ -1,5 +1,4 @@ {pkgs,...}: { - hm.home.packages = [pkgs.ueberzugpp pkgs.lf pkgs.nsxiv]; hm.xdg.configFile = { # "lf/cleaner".source = config.lib.meta.mkMutableSymlink /mut/lf/cleaner; # "lf/scope".source = config.lib.meta.mkMutableSymlink /mut/lf/scope; diff --git a/profiles/core/meta.nix b/profiles/core/meta.nix index 0cf0c1c..439b678 100644 --- a/profiles/core/meta.nix +++ b/profiles/core/meta.nix @@ -1,6 +1,6 @@ -{inputs,lib,config, ...}: with lib; { +{machine, inputs,lib,config, ...}: with lib; { lib.meta = { - configPath = "/nix-config"; + configPath = if hasAttrByPath ["configPath"] machine then machine.configPath else "/nix-config"; mkMutableSymlink = path: config.hm.lib.file.mkOutOfStoreSymlink (config.lib.meta.configPath + removePrefix (toString inputs.self) (toString path)); diff --git a/profiles/core/packages.nix b/profiles/core/packages.nix index 7793c95..4350680 100644 --- a/profiles/core/packages.nix +++ b/profiles/core/packages.nix @@ -32,14 +32,16 @@ with lib; # gcc gnumake file - psmisc + # psmisc bc - mediainfo + # mediainfo bat openpomodoro-cli coreutils killall ] ++ (optionals (!machine.isDarwin) [ + nsxiv + ueberzugpp man-pages man-pages-posix # pkgsi686Linux.glibc |
