mirror of
https://github.com/kittywitch/nixfiles.git
synced 2026-02-09 04:19:19 -08:00
[SUMIREKO] Make sumireko bearable.
This commit is contained in:
parent
2be79777a5
commit
d2d403fef8
20 changed files with 359 additions and 67 deletions
9
common/fonts.nix
Normal file
9
common/fonts.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{ pkgs, ... }: {
|
||||||
|
fonts = {
|
||||||
|
fonts = with pkgs; [
|
||||||
|
font-awesome
|
||||||
|
twitter-color-emoji
|
||||||
|
iosevka-bin
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
13
darwin/common/overlay.nix
Normal file
13
darwin/common/overlay.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
tree,
|
||||||
|
system,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
nixpkgs = {
|
||||||
|
overlays = [
|
||||||
|
inputs.spacebar.overlay.${system}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
87
darwin/wm/skhd.nix
Normal file
87
darwin/wm/skhd.nix
Normal file
|
|
@ -0,0 +1,87 @@
|
||||||
|
{std, ...}: let
|
||||||
|
inherit (std) string list;
|
||||||
|
in {
|
||||||
|
services.skhd = {
|
||||||
|
enable = true;
|
||||||
|
skhdConfig = let
|
||||||
|
bindWorkspace = key: workspace: ''
|
||||||
|
alt - ${key} : yabai -m space --focus ${workspace}
|
||||||
|
shift + alt - ${key} : yabai -m window --space ${workspace}
|
||||||
|
'';
|
||||||
|
workspaceBindings = string.concat (list.map (v: bindWorkspace v "${v}") (list.map builtins.toString (list.range 1 9))
|
||||||
|
++ [
|
||||||
|
(
|
||||||
|
bindWorkspace "0" "10"
|
||||||
|
)
|
||||||
|
]
|
||||||
|
++ list.imap (i: v: bindWorkspace v "${toString (10 + i + 1)}") (list.map (n: "f${builtins.toString n}") (std.list.range 1 12)));
|
||||||
|
in
|
||||||
|
workspaceBindings
|
||||||
|
+ ''
|
||||||
|
# focus windows - ESDF
|
||||||
|
alt - s : yabai -m window --focus west
|
||||||
|
alt - d : yabai -m window --focus south
|
||||||
|
alt - e : yabai -m window --focus north
|
||||||
|
alt - f : yabai -m window --focus east
|
||||||
|
|
||||||
|
# focus windows - arrows
|
||||||
|
alt - left : yabai -m window --focus west
|
||||||
|
alt - down : yabai -m window --focus south
|
||||||
|
alt - up : yabai -m window --focus north
|
||||||
|
alt - right : yabai -m window --focus east
|
||||||
|
|
||||||
|
# move windows - ESDF
|
||||||
|
shift + alt - s : yabai -m window --swap west
|
||||||
|
shift + alt - d : yabai -m window --swap south
|
||||||
|
shift + alt - e : yabai -m window --swap north
|
||||||
|
shift + alt - f : yabai -m window --swap east
|
||||||
|
|
||||||
|
# move windows - arrows
|
||||||
|
shift + alt - left : yabai -m window --swap west
|
||||||
|
shift + alt - down : yabai -m window --swap south
|
||||||
|
shift + alt - up : yabai -m window --swap north
|
||||||
|
shift + alt - right : yabai -m window --swap east
|
||||||
|
|
||||||
|
# warp windows - ESDF
|
||||||
|
ctrl + alt - s : yabai -m window --warp west
|
||||||
|
ctrl + alt - d : yabai -m window --warp south
|
||||||
|
ctrl + alt - e : yabai -m window --warp north
|
||||||
|
ctrl + alt - f : yabai -m window --warp east
|
||||||
|
|
||||||
|
# warp windows - arrows
|
||||||
|
ctrl + alt - left : yabai -m window --warp west
|
||||||
|
ctrl + alt - down : yabai -m window --warp south
|
||||||
|
ctrl + alt - up : yabai -m window --warp north
|
||||||
|
ctrl + alt - right : yabai -m window --warp east
|
||||||
|
|
||||||
|
# process management - q
|
||||||
|
# unused base -> spotlight exists (cmd+space)
|
||||||
|
alt + shift - q : yabai -m window --close
|
||||||
|
alt + ctrl - q : wezterm
|
||||||
|
|
||||||
|
# workspace prev/next - w
|
||||||
|
alt - w : yabai -m space --focus prev
|
||||||
|
alt + shift - w : yabai -m space --focus next
|
||||||
|
alt + ctrl - w : yabai -m window --display next
|
||||||
|
ctrl + shift - w : yabai -m window --display prev
|
||||||
|
|
||||||
|
# split managent - a
|
||||||
|
alt - a : yabai -m window --toggle split
|
||||||
|
|
||||||
|
# resizing, reloading - r
|
||||||
|
alt - r : yabai -m space --balance
|
||||||
|
|
||||||
|
# layout handling (spaces) - t
|
||||||
|
alt - t : yabai -m space -- layout stack
|
||||||
|
alt + shift - t : yabai -m space -- layout bsp
|
||||||
|
alt + ctrl - t : yabai -m space -- layout float
|
||||||
|
|
||||||
|
# layout handling (windows) - p
|
||||||
|
alt - p : yabai -m window --toggle float
|
||||||
|
alt + shift - p : yabai -m window --toggle stack
|
||||||
|
|
||||||
|
# workspace history switching - tab
|
||||||
|
alt + ctrl - tab: yabai -m space --focus recent
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
35
darwin/wm/spacebar.nix
Normal file
35
darwin/wm/spacebar.nix
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
services.spacebar = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.spacebar;
|
||||||
|
config = {
|
||||||
|
# bar characteristics
|
||||||
|
position = "top";
|
||||||
|
display = "main";
|
||||||
|
height = "26";
|
||||||
|
|
||||||
|
# modules
|
||||||
|
spaces = "on";
|
||||||
|
space_icon_strip = " 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22";
|
||||||
|
spaces_for_all_displays = "on";
|
||||||
|
title = "off";
|
||||||
|
clock = "on";
|
||||||
|
clock_icon = "";
|
||||||
|
clock_format = ''"%F %R %Z"'';
|
||||||
|
power = "on";
|
||||||
|
dnd = "on";
|
||||||
|
dnd_icon = "";
|
||||||
|
power_icon_strip = " ";
|
||||||
|
|
||||||
|
# display
|
||||||
|
padding_left = 20;
|
||||||
|
padding_right = 20;
|
||||||
|
spacing_left = 15;
|
||||||
|
spacing_right = 15;
|
||||||
|
|
||||||
|
# text
|
||||||
|
text_font = ''"Iosevka:Regular:12.0"'';
|
||||||
|
icon_font = ''"Font Awesome 6 Free:Solid:12.0"'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
50
darwin/wm/yabai.nix
Normal file
50
darwin/wm/yabai.nix
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
_: {
|
||||||
|
services.yabai = {
|
||||||
|
enable = true;
|
||||||
|
enableScriptingAddition = true;
|
||||||
|
config = {
|
||||||
|
# layout
|
||||||
|
layout = "bsp";
|
||||||
|
window_origin_display = "focused";
|
||||||
|
split_ratio = "0.50";
|
||||||
|
mouse_modifier = "alt";
|
||||||
|
mouse_action1 = "move";
|
||||||
|
mouse_action2 = "resize";
|
||||||
|
mouse_drop_action = "stack";
|
||||||
|
external_bar = "main:26:0";
|
||||||
|
|
||||||
|
# window border
|
||||||
|
window_border = "on";
|
||||||
|
window_border_width = 3;
|
||||||
|
window_border_hidpi = "on";
|
||||||
|
|
||||||
|
# focus
|
||||||
|
focus_follows_mouse = "autoraise";
|
||||||
|
mouse_follows_focus = "off";
|
||||||
|
|
||||||
|
# window
|
||||||
|
window_placement = "second_child";
|
||||||
|
window_border_blur = "on";
|
||||||
|
|
||||||
|
# paddings
|
||||||
|
top_padding = 10;
|
||||||
|
bottom_padding = 10;
|
||||||
|
left_padding = 10;
|
||||||
|
right_padding = 10;
|
||||||
|
window_gap = 10;
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
# rules
|
||||||
|
yabai -m rule --add app='System Preferences' manage=off
|
||||||
|
yabai -m rule --add app='Yubico Authenticator' manage=off
|
||||||
|
yabai -m rule --add app='YubiKey Manager' manage=off
|
||||||
|
yabai -m rule --add app='YubiKey Personalization Tool' manage=off
|
||||||
|
|
||||||
|
# signals
|
||||||
|
yabai -m signal --add event=window_focused action="sketchybar --trigger window_focus"
|
||||||
|
yabai -m signal --add event=window_created action="sketchybar --trigger windows_on_spaces"
|
||||||
|
yabai -m signal --add event=window_destroyed action="sketchybar --trigger windows_on_spaces"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
73
flake.lock
generated
73
flake.lock
generated
|
|
@ -24,11 +24,11 @@
|
||||||
"arcexprs": {
|
"arcexprs": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1676227420,
|
"lastModified": 1675450557,
|
||||||
"narHash": "sha256-7l3pbbRRYZAhj5/g8pmtaRg37299KDkyni5YykQn+fw=",
|
"narHash": "sha256-0Syp+pnuTCjAM9aJAX3DIt6qbAvp/wNeoaGeBn5zmEM=",
|
||||||
"owner": "arcnmx",
|
"owner": "arcnmx",
|
||||||
"repo": "nixexprs",
|
"repo": "nixexprs",
|
||||||
"rev": "3e12ce19adbe3c5e1d87d07bc05abad46877a84e",
|
"rev": "4d4f3a24770be3e60b69cfc191b67f7a1ecbd6a8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -126,11 +126,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1675935446,
|
"lastModified": 1675462931,
|
||||||
"narHash": "sha256-WajulTn7QdwC7QuXRBavrANuIXE5z+08EdxdRw1qsNs=",
|
"narHash": "sha256-JiOUSERBtA1lN/s9YTKGZoZ3XUicHDwr+C8swaPSh3M=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "2dce7f1a55e785a22d61668516df62899278c9e4",
|
"rev": "e2c1756e3ae001ca8696912016dd31cb1503ccf3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -173,11 +173,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1676172252,
|
"lastModified": 1674962474,
|
||||||
"narHash": "sha256-Q5yJPpgbvOTgB0NQTJmlx3di1Sj5QQhSrjv38u6MzsQ=",
|
"narHash": "sha256-qEXdgW5fnMSdQwP1zQYa0fVtI0f3G1f2qNRjUEherCs=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "89e3b689e0ae9bac4c6cdc24d1085d81baeebde4",
|
"rev": "a385f6192f5471c4cebeeb0d2e966b5ccf123df5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -188,11 +188,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1675933606,
|
"lastModified": 1676908974,
|
||||||
"narHash": "sha256-y427VhPQHOKkYvkc9MMsL/2R7M11rQxzsRdRLM3htx8=",
|
"narHash": "sha256-o7sJTBeumorVIM/b1b/Q4q+WJn8Rou5kx8DEBbKOZJI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "44ae00e02e8036a66c08f4decdece7e3bbbefee2",
|
"rev": "157e1e4b127b5cb37822be247e8ec37a7f475270",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -203,11 +203,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1676300157,
|
"lastModified": 1675454231,
|
||||||
"narHash": "sha256-1HjRzfp6LOLfcj/HJHdVKWAkX9QRAouoh6AjzJiIerU=",
|
"narHash": "sha256-5rgcWq1nFWlbR3NsLqY7i/7358uhkSeMQJ/LEHk3BWA=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "545c7a31e5dedea4a6d372712a18e00ce097d462",
|
"rev": "06999209d7a0043d4372e38f57cffae00223d592",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -220,11 +220,11 @@
|
||||||
"pypi-deps-db": {
|
"pypi-deps-db": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1676367706,
|
"lastModified": 1675544670,
|
||||||
"narHash": "sha256-FY7MKi/Q6IO4hlYiGqVCrXAg+/VJ/pIVS+ZfqeonOx8=",
|
"narHash": "sha256-CV3qfT4CdMR9CbyPmbJXMHNgLK0p+62nwM2/yF8QHS0=",
|
||||||
"owner": "DavHau",
|
"owner": "DavHau",
|
||||||
"repo": "pypi-deps-db",
|
"repo": "pypi-deps-db",
|
||||||
"rev": "1974e03fe3ee9d7246e9af3bedbea72e3ea0535c",
|
"rev": "f822ecb6e8e27ac4e1c34218536658d6be0da51f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -273,6 +273,7 @@
|
||||||
"pypi-deps-db": "pypi-deps-db",
|
"pypi-deps-db": "pypi-deps-db",
|
||||||
"ragenix": "ragenix",
|
"ragenix": "ragenix",
|
||||||
"scalpel": "scalpel",
|
"scalpel": "scalpel",
|
||||||
|
"spacebar": "spacebar",
|
||||||
"std": "std",
|
"std": "std",
|
||||||
"tree": "tree",
|
"tree": "tree",
|
||||||
"utils": "utils",
|
"utils": "utils",
|
||||||
|
|
@ -327,6 +328,30 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"spacebar": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": [
|
||||||
|
"utils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1644858436,
|
||||||
|
"narHash": "sha256-4LiG43kPZtsm7SQ/28RaGMpYsDshCaGvc1mouPG3jFM=",
|
||||||
|
"owner": "cmacrae",
|
||||||
|
"repo": "spacebar",
|
||||||
|
"rev": "79257bae525059be5230e86df96b3b3f1a3ed0a7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cmacrae",
|
||||||
|
"ref": "v1.4.0",
|
||||||
|
"repo": "spacebar",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"std": {
|
"std": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1671250799,
|
"lastModified": 1671250799,
|
||||||
|
|
@ -367,11 +392,11 @@
|
||||||
},
|
},
|
||||||
"utils": {
|
"utils": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1676283394,
|
"lastModified": 1667395993,
|
||||||
"narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=",
|
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073",
|
"rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -393,11 +418,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1676381420,
|
"lastModified": 1675351082,
|
||||||
"narHash": "sha256-aDRnfGrk/xi7zkuterN78p8/wdM5Iy6vz74uqd/JFWw=",
|
"narHash": "sha256-4Oi4k4Qp1vOvKoACHDcz0xiVj7DuMaCL57fP3W77eA0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NixOS-WSL",
|
"repo": "NixOS-WSL",
|
||||||
"rev": "4640199aeafcbb63cfbe8318bdf06f4402134f66",
|
"rev": "52cadf92e1bfdef235d5cd77b9a4b2ab848baa8a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,14 @@
|
||||||
url = "github:lnl7/nix-darwin/master";
|
url = "github:lnl7/nix-darwin/master";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
# status bar
|
||||||
|
spacebar = {
|
||||||
|
url = "github:cmacrae/spacebar/v1.4.0";
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.follows = "nixpkgs";
|
||||||
|
flake-utils.follows = "utils";
|
||||||
|
};
|
||||||
|
};
|
||||||
# WSL host
|
# WSL host
|
||||||
wsl = {
|
wsl = {
|
||||||
url = "github:nix-community/NixOS-WSL";
|
url = "github:nix-community/NixOS-WSL";
|
||||||
|
|
|
||||||
8
kat/common/docs.nix
Normal file
8
kat/common/docs.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
_: {
|
||||||
|
manual = {
|
||||||
|
html.enable = false;
|
||||||
|
json.enable = false;
|
||||||
|
manpages.enable = false;
|
||||||
|
manual.manpages.enable = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -33,6 +33,7 @@ in
|
||||||
work = {
|
work = {
|
||||||
imports = with dirImports; [
|
imports = with dirImports; [
|
||||||
wezterm
|
wezterm
|
||||||
|
vscodium
|
||||||
gpg
|
gpg
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,17 @@
|
||||||
{ kittywitch, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
|
kittywitch,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
style = let
|
style = let
|
||||||
template = kittywitch.sassTemplate { name = "waybar-style"; src = ./waybar.sass; };
|
template = kittywitch.sassTemplate {
|
||||||
in template.source;
|
name = "waybar-style";
|
||||||
|
src = ./waybar.sass;
|
||||||
|
};
|
||||||
|
in
|
||||||
|
template.source;
|
||||||
systemd.enable = true;
|
systemd.enable = true;
|
||||||
settings.main = {
|
settings.main = {
|
||||||
layer = "top";
|
layer = "top";
|
||||||
|
|
@ -33,11 +39,12 @@
|
||||||
"sway/workspaces" = {
|
"sway/workspaces" = {
|
||||||
format = "{icon}";
|
format = "{icon}";
|
||||||
format-icons = {
|
format-icons = {
|
||||||
"1" = "";
|
# https://fontawesome.com/v5/cheatsheet
|
||||||
"2" = "";
|
"1" = ""; # chats
|
||||||
"3" = "";
|
"2" = ""; # cloud (browser)
|
||||||
"4" = "";
|
"3" = ""; # music
|
||||||
"5" = "";
|
"4" = ""; # brain
|
||||||
|
"5" = ""; # terminal >_
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"sway/window" = {
|
"sway/window" = {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,12 @@
|
||||||
_: {
|
{pkgs, ...}: {
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
|
settings = {
|
||||||
|
"custom.kubeprompt" = {
|
||||||
|
command = ''${pkgs.kubeprompt}/bin/kubeprompt -f default'';
|
||||||
|
when = ''test "$KUBECONFIG" '';
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
28
kat/vscodium.nix
Normal file
28
kat/vscodium.nix
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
programs.vscode = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.vscodium;
|
||||||
|
extensions = with pkgs.vscode-extensions; [
|
||||||
|
kamadorueda.alejandra
|
||||||
|
mkhl.direnv
|
||||||
|
mhutchie.git-graph
|
||||||
|
golang.go
|
||||||
|
hashicorp.terraform
|
||||||
|
arrterian.nix-env-selector
|
||||||
|
jnoortheen.nix-ide
|
||||||
|
];
|
||||||
|
userSettings = {
|
||||||
|
"nix.enableLanguageServer" = true;
|
||||||
|
"workbench.colorTheme" = "Quiet Light";
|
||||||
|
"[nix]" = {
|
||||||
|
"editor.defaultFormatter" = "kamadorueda.alejandra";
|
||||||
|
"editor.formatOnPaste" = true;
|
||||||
|
"editor.formatOnSave" = true;
|
||||||
|
"editor.formatOnType" = false;
|
||||||
|
};
|
||||||
|
"alejandra.program" = "${pkgs.alejandra}/bin/alejandra";
|
||||||
|
"editor.fontFamily" = ''"Iosevka", "Font Awesome 6 Free", "Font Awesome 6 Brands"'';
|
||||||
|
"editor.fontLigatures" = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
{ config, ... }: {
|
{ config, lib, ... }: let
|
||||||
|
inherit (lib.modules) mkIf;
|
||||||
|
in mkIf (config.programs.waybar.enable) {
|
||||||
systemd.user.services.waybar.Unit.X-Restart-Triggers = [
|
systemd.user.services.waybar.Unit.X-Restart-Triggers = [
|
||||||
(builtins.toString config.programs.waybar.style)
|
(builtins.toString config.programs.waybar.style)
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
fonts = {
|
fonts = {
|
||||||
fonts = with pkgs; [
|
|
||||||
font-awesome
|
|
||||||
twitter-color-emoji
|
|
||||||
iosevka-bin
|
|
||||||
];
|
|
||||||
enableDefaultFonts = true;
|
enableDefaultFonts = true;
|
||||||
fontDir.enable = true;
|
fontDir.enable = true;
|
||||||
fontconfig = {
|
fontconfig = {
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
std = import ./std.nix {inherit inputs;};
|
std = import ./std.nix {inherit inputs;};
|
||||||
tree = import ./tree.nix {inherit inputs pkgs;};
|
tree = import ./tree.nix {inherit inputs pkgs;};
|
||||||
inherit (inputs.nixpkgs) lib;
|
inherit (inputs.nixpkgs) lib;
|
||||||
overlay = import ./packages {inherit inputs tree lib std;};
|
overlay = import ./packages {inherit inputs tree;};
|
||||||
systems = import ./systems {inherit inputs tree lib std;};
|
systems = import ./systems {inherit inputs tree lib std;};
|
||||||
shells = import ./shells {inherit inputs tree lib std pkgs;};
|
shells = import ./shells {inherit inputs tree lib std pkgs;};
|
||||||
inherit (import ./pkgs.nix {inherit inputs tree overlay;}) pkgs;
|
inherit (import ./pkgs.nix {inherit inputs tree overlay;}) pkgs;
|
||||||
|
|
@ -13,4 +13,6 @@ in
|
||||||
{
|
{
|
||||||
inherit inputs tree std pkgs checks formatter lib;
|
inherit inputs tree std pkgs checks formatter lib;
|
||||||
legacyPackages = pkgs;
|
legacyPackages = pkgs;
|
||||||
} // systems // shells
|
}
|
||||||
|
// systems
|
||||||
|
// shells
|
||||||
|
|
|
||||||
12
overlays.nix
12
overlays.nix
|
|
@ -1,6 +1,12 @@
|
||||||
{inputs, tree, ...}: [
|
{
|
||||||
|
inputs,
|
||||||
|
tree,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
[
|
||||||
inputs.deploy-rs.overlay
|
inputs.deploy-rs.overlay
|
||||||
(import tree.packages.default { inherit inputs tree; })
|
(import tree.packages.default {inherit inputs tree;})
|
||||||
] ++ map (path: import "${path}/overlay.nix") [
|
]
|
||||||
|
++ map (path: import "${path}/overlay.nix") [
|
||||||
inputs.arcexprs
|
inputs.arcexprs
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ with pkgs; let
|
||||||
deploy-rs.deploy-rs # deployment system
|
deploy-rs.deploy-rs # deployment system
|
||||||
]
|
]
|
||||||
++ set.values (set.map (name: _: (pkgs.writeShellScriptBin "${name}-rebuild" ''
|
++ set.values (set.map (name: _: (pkgs.writeShellScriptBin "${name}-rebuild" ''
|
||||||
darwin-rebuild switch --flake $REPO_ROOT#${name}
|
darwin-rebuild switch --flake $REPO_ROOT#${name} $@
|
||||||
''))
|
''))
|
||||||
repo.darwinConfigurations);
|
repo.darwinConfigurations);
|
||||||
shellHook = ''
|
shellHook = ''
|
||||||
|
|
|
||||||
|
|
@ -79,14 +79,18 @@
|
||||||
builder =
|
builder =
|
||||||
{
|
{
|
||||||
nixos = let
|
nixos = let
|
||||||
lib = inputs.nixpkgs.lib.extend (self: super: import (inputs.arcexprs + "/lib") {
|
lib = inputs.nixpkgs.lib.extend (self: super:
|
||||||
inherit super;
|
import (inputs.arcexprs + "/lib") {
|
||||||
lib = self;
|
inherit super;
|
||||||
isOverlayLib = true;
|
lib = self;
|
||||||
});
|
isOverlayLib = true;
|
||||||
in args: lib.nixosSystem ({
|
});
|
||||||
inherit lib;
|
in
|
||||||
} // args);
|
args:
|
||||||
|
lib.nixosSystem ({
|
||||||
|
inherit lib;
|
||||||
|
}
|
||||||
|
// args);
|
||||||
darwin = inputs.darwin.lib.darwinSystem;
|
darwin = inputs.darwin.lib.darwinSystem;
|
||||||
macos = inputs.darwin.lib.darwinSystem;
|
macos = inputs.darwin.lib.darwinSystem;
|
||||||
}
|
}
|
||||||
|
|
@ -95,6 +99,7 @@
|
||||||
{
|
{
|
||||||
inherit machine;
|
inherit machine;
|
||||||
systemType = config.folder;
|
systemType = config.folder;
|
||||||
|
system = config.system;
|
||||||
}
|
}
|
||||||
// defaultSpecialArgs;
|
// defaultSpecialArgs;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ _: let
|
||||||
in {
|
in {
|
||||||
imports = with tree; [
|
imports = with tree; [
|
||||||
nixos.rosetta
|
nixos.rosetta
|
||||||
nixos.bootable
|
nixos.roles.bootable
|
||||||
];
|
];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,12 @@
|
||||||
_: let
|
_: let
|
||||||
hostConfig = {tree, pkgs, ...}: {
|
hostConfig = {
|
||||||
|
tree,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = with tree; [
|
imports = with tree; [
|
||||||
kat.work
|
kat.work
|
||||||
|
darwin.wm
|
||||||
darwin.distributed
|
darwin.distributed
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -10,16 +15,16 @@ _: let
|
||||||
distributed.systems.renko.preference = 5;
|
distributed.systems.renko.preference = 5;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
fd # fd, better fine!
|
fd # fd, better fine!
|
||||||
ripgrep # rg, better grep!
|
ripgrep # rg, better grep!
|
||||||
go # Required for pulumi
|
go # Required for pulumi
|
||||||
pulumi-bin # Infrastructure as code
|
pulumi-bin # Infrastructure as code
|
||||||
deadnix # dead-code scanner
|
deadnix # dead-code scanner
|
||||||
alejandra # code formatter
|
alejandra # code formatter
|
||||||
statix # anti-pattern finder
|
statix # anti-pattern finder
|
||||||
deploy-rs.deploy-rs # deployment system
|
deploy-rs.deploy-rs # deployment system
|
||||||
rnix-lsp # vscode nix extensions
|
rnix-lsp # vscode nix extensions
|
||||||
terraform # terraform
|
terraform # terraform
|
||||||
];
|
];
|
||||||
|
|
||||||
homebrew = {
|
homebrew = {
|
||||||
|
|
@ -28,6 +33,7 @@ _: let
|
||||||
"gnupg"
|
"gnupg"
|
||||||
"pinentry-mac"
|
"pinentry-mac"
|
||||||
"awscurl"
|
"awscurl"
|
||||||
|
"helm"
|
||||||
];
|
];
|
||||||
casks = [
|
casks = [
|
||||||
"utm"
|
"utm"
|
||||||
|
|
@ -48,7 +54,6 @@ _: let
|
||||||
"cyberduck"
|
"cyberduck"
|
||||||
"docker"
|
"docker"
|
||||||
"pycharm-ce"
|
"pycharm-ce"
|
||||||
"vscodium"
|
|
||||||
"slack"
|
"slack"
|
||||||
"boop"
|
"boop"
|
||||||
"obsidian"
|
"obsidian"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue