summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flake.lock28
-rw-r--r--flake.nix36
-rw-r--r--lib/default.nix15
-rw-r--r--machines/work.nix122
-rw-r--r--profiles/core/home.nix2
-rw-r--r--profiles/core/lf.nix1
-rw-r--r--profiles/core/meta.nix4
-rw-r--r--profiles/core/packages.nix6
8 files changed, 68 insertions, 146 deletions
diff --git a/flake.lock b/flake.lock
index 5d73e46..14d9491 100644
--- a/flake.lock
+++ b/flake.lock
@@ -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": {
diff --git a/flake.nix b/flake.nix
index 525dfcd..8e33ca5 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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