changes: remove zellij from default modules
This commit is contained in:
parent
7fcf26263a
commit
d1f25b377f
14 changed files with 131 additions and 38 deletions
15
flake.lock
generated
15
flake.lock
generated
|
|
@ -1416,17 +1416,14 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1760422027,
|
||||
"narHash": "sha256-UAuVT+mL9Q6hABWWlRhFfJ51DMrG3L/xdJTT3+FgCjM=",
|
||||
"owner": "dachxy",
|
||||
"repo": "nix-mail-server",
|
||||
"rev": "a9df5bb2406f45b1d878f8b5681d8710a5cf40fb",
|
||||
"type": "github"
|
||||
"lastModified": 1761409875,
|
||||
"narHash": "sha256-tTVQsRHO1c/c3rpeHXuYV+HLulv2J3ZLR3c32nSWyas=",
|
||||
"path": "/home/danny/projects/nix-mail-server",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"owner": "dachxy",
|
||||
"repo": "nix-mail-server",
|
||||
"type": "github"
|
||||
"path": "/home/danny/projects/nix-mail-server",
|
||||
"type": "path"
|
||||
}
|
||||
},
|
||||
"marks-nvim": {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@
|
|||
../user/virtualization.nix
|
||||
../user/vscode.nix
|
||||
../user/yazi.nix
|
||||
../user/zellij.nix
|
||||
../user/nvf
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ let
|
|||
keyList = [
|
||||
{
|
||||
key = "<leader><space>";
|
||||
action = "picker.smart()";
|
||||
action = "picker.files()";
|
||||
desc = "Smart Find Files";
|
||||
}
|
||||
{
|
||||
|
|
|
|||
|
|
@ -8,6 +8,12 @@
|
|||
}:
|
||||
let
|
||||
md2html = pkgs.callPackage ../scripts/md2html.nix { };
|
||||
ghosttyShaders = pkgs.fetchFromGitHub {
|
||||
owner = "sahaj-b";
|
||||
repo = "ghostty-cursor-shaders";
|
||||
rev = "main";
|
||||
hash = "sha256-ruhEqXnWRCYdX5mRczpY3rj1DTdxyY3BoN9pdlDOKrE=";
|
||||
};
|
||||
in
|
||||
{
|
||||
programs.btop = {
|
||||
|
|
@ -24,6 +30,11 @@ in
|
|||
enableFishIntegration = true;
|
||||
package = inputs.ghostty.packages.${system}.default;
|
||||
settings = {
|
||||
custom-shader = [
|
||||
"${ghosttyShaders}/cursor_sweep.glsl"
|
||||
"${ghosttyShaders}/ripple_cursor.glsl"
|
||||
];
|
||||
|
||||
unfocused-split-opacity = 0.85;
|
||||
desktop-notifications = false;
|
||||
background-opacity = 0.4;
|
||||
|
|
@ -38,7 +49,11 @@ in
|
|||
|
||||
mouse-hide-while-typing = true;
|
||||
|
||||
keybind = [ "ctrl+shift+zero=toggle_tab_overview" ];
|
||||
keybind = [
|
||||
"ctrl+shift+zero=toggle_tab_overview"
|
||||
"ctrl+shift+e=unbind"
|
||||
"ctrl+shift+o=unbind"
|
||||
];
|
||||
|
||||
clipboard-read = "allow";
|
||||
clipboard-write = "allow";
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
cat = "bat";
|
||||
g = "git";
|
||||
t = "tmux";
|
||||
zl = "zellij";
|
||||
|
||||
# Nixos
|
||||
rebuild = "sudo nixos-rebuild switch --flake /etc/nixos#${hostname}";
|
||||
|
|
|
|||
|
|
@ -1,34 +1,91 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
inherit (builtins) fetchurl;
|
||||
inherit (config.lib.stylix) colors;
|
||||
inherit (lib) getExe;
|
||||
|
||||
zjstatus = fetchurl {
|
||||
url = "https://github.com/dj95/zjstatus/releases/download/v0.21.1/zjstatus.wasm";
|
||||
sha256 = "sha256:06mfcijmsmvb2gdzsql6w8axpaxizdc190b93s3nczy212i846fw";
|
||||
};
|
||||
|
||||
zellij-switch = fetchurl {
|
||||
url = "https://github.com/mostafaqanbaryan/zellij-switch/releases/download/0.2.1/zellij-switch.wasm";
|
||||
sha256 = "sha256:1bi219dh9dfs1h7ifn4g5p8n6ini8ack1bfys5z36wzbzx0pw9gg";
|
||||
};
|
||||
|
||||
zellij-sessionizer-src = fetchurl {
|
||||
url = "https://raw.githubusercontent.com/dachxy/zellij-sessionizer/refs/heads/main/zellij-sessionizer";
|
||||
sha256 = "sha256:01az9blb86mc3lxaxnrfcj23jaxhagsbs31qjn6pj5wm1wgb2mrf";
|
||||
};
|
||||
|
||||
zellij-sessionizer = pkgs.writeShellScriptBin "zellij-sessionizer" ''
|
||||
export PATH="$PATH:${pkgs.fzf}/bin"
|
||||
export ZELLIJ_SESSIONIZER_SEARCH_PATHS="$HOME/projects $HOME/notes $HOME/expr"
|
||||
export ZELLIJ_SESSIONIZER_SPECIFIC_PATHS="/etc/nixos"
|
||||
export ZELLIJ_SESSIONIZER_SWITCH_PLUGIN="file:${zellij-switch}"
|
||||
|
||||
bash ${zellij-sessionizer-src}
|
||||
'';
|
||||
in
|
||||
{
|
||||
home.packages = [
|
||||
zellij-sessionizer
|
||||
];
|
||||
|
||||
programs.fish.shellAliases = {
|
||||
al = "zellij";
|
||||
aa = "zellij a --index 0";
|
||||
zs = "zellij-sessionizer";
|
||||
};
|
||||
|
||||
programs.zellij = {
|
||||
enable = true;
|
||||
attachExistingSession = true;
|
||||
enableFishIntegration = true;
|
||||
enableBashIntegration = true;
|
||||
|
||||
settings = {
|
||||
pane_frames = false;
|
||||
show_startup_tips = false;
|
||||
session_serialization = false;
|
||||
default_layout = "default";
|
||||
};
|
||||
|
||||
extraConfig = ''
|
||||
keybinds clear-defaults=true {
|
||||
shared {
|
||||
bind "Ctrl /" { ToggleFloatingPanes; SwitchToMode "Normal"; }
|
||||
}
|
||||
normal {
|
||||
bind "Ctrl n" { SwitchToMode "Resize"; }
|
||||
bind "Ctrl p" { SwitchToMode "Pane"; }
|
||||
bind "Ctrl [" { SwitchToMode "Scroll"; }
|
||||
bind "Ctrl m" { SwitchToMode "Move"; }
|
||||
bind "Ctrl t" { SwitchToMode "Tab"; }
|
||||
bind "Ctrl Space" {
|
||||
LaunchOrFocusPlugin "session-manager" {
|
||||
floating true
|
||||
move_to_focused_tab true
|
||||
};
|
||||
SwitchToMode "Normal"
|
||||
}
|
||||
bind "Ctrl f" { Run "${getExe zellij-sessionizer}" {
|
||||
close_on_exit true
|
||||
floating true
|
||||
x "30%"
|
||||
y "10%"
|
||||
width "40%"
|
||||
height "80%"
|
||||
}; SwitchToMode "locked"; }
|
||||
bind "Alt Shift h" { GoToPreviousTab; }
|
||||
bind "Alt Shift l" { GoToNextTab; }
|
||||
bind "Ctrl o" { SwitchToMode "Session"; }
|
||||
bind "Ctrl /" { ToggleFloatingPanes; SwitchToMode "Normal"; }
|
||||
bind "Ctrl Shift o" { SwitchToMode "Session"; }
|
||||
bind "Ctrl Shift -" { Run "yazi" {
|
||||
floating true
|
||||
close_on_exit true
|
||||
|
|
@ -112,7 +169,7 @@ in
|
|||
bind "Tab" { ToggleTab; }
|
||||
}
|
||||
scroll {
|
||||
bind "Ctrl s" { SwitchToMode "Normal"; }
|
||||
bind "Ctrl [" { SwitchToMode "Normal"; }
|
||||
bind "e" { EditScrollback; SwitchToMode "Normal"; }
|
||||
bind "s" { SwitchToMode "EnterSearch"; SearchInput 0; }
|
||||
bind "Ctrl c" { ScrollToBottom; SwitchToMode "Normal"; }
|
||||
|
|
@ -133,7 +190,7 @@ in
|
|||
bind "d" { HalfPageScrollDown; }
|
||||
bind "u" { HalfPageScrollUp; }
|
||||
bind "n" { Search "down"; }
|
||||
bind "p" { Search "up"; }
|
||||
bind "shift n" { Search "up"; }
|
||||
bind "c" { SearchToggleOption "CaseSensitivity"; }
|
||||
bind "w" { SearchToggleOption "Wrap"; }
|
||||
bind "o" { SearchToggleOption "WholeWord"; }
|
||||
|
|
@ -211,13 +268,8 @@ in
|
|||
font "monospace"
|
||||
}
|
||||
'';
|
||||
settings = {
|
||||
pane_frames = false;
|
||||
show_startup_tips = false;
|
||||
default_layout = "compact-top-bar";
|
||||
};
|
||||
layouts = {
|
||||
compact-top-bar = {
|
||||
default = {
|
||||
layout = {
|
||||
_children = [
|
||||
{
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@ let
|
|||
optionals
|
||||
;
|
||||
|
||||
inherit (helper) capitalize;
|
||||
|
||||
stateVersion = "25.05";
|
||||
|
||||
cfg = config.systemConf;
|
||||
|
|
@ -44,7 +46,13 @@ let
|
|||
|
||||
defaultSddmTheme = (
|
||||
pkgs.sddm-astronaut.override {
|
||||
embeddedTheme = "purple_leaves.conf";
|
||||
embeddedTheme = "purple_leaves";
|
||||
themeConfig = {
|
||||
ScreenWidth = "1920";
|
||||
ScreenHeight = "1080";
|
||||
Font = "SF Pro Display Bold";
|
||||
HeaderText = "Welcome, ${capitalize cfg.username}";
|
||||
};
|
||||
}
|
||||
);
|
||||
in
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
{ hostname }:
|
||||
{
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
|
|
|||
|
|
@ -1,11 +1,7 @@
|
|||
{ hostname }:
|
||||
{
|
||||
self,
|
||||
inputs,
|
||||
pkgs,
|
||||
config,
|
||||
helper,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ in
|
|||
home-manager.users."${username}" = {
|
||||
imports = [
|
||||
../../../../home/presets/basic.nix
|
||||
../../../../home/user/zellij.nix
|
||||
./expr
|
||||
./wm
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,5 @@
|
|||
{
|
||||
imports = [
|
||||
./helix.nix
|
||||
../../../../../home/user/zellij.nix
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ in
|
|||
base-dn = "ou=people,dc=net,dc=dn";
|
||||
attributes = {
|
||||
name = "uid";
|
||||
email = "mail";
|
||||
email = "mailRoutingAddress";
|
||||
secret = "userPassword";
|
||||
description = [
|
||||
"cn"
|
||||
|
|
@ -48,8 +48,8 @@ in
|
|||
class = "objectClass";
|
||||
};
|
||||
filter = {
|
||||
name = "(&(objectClass=inetOrgPerson)(|(uid=?)(mail=?)))";
|
||||
email = "(&(objectClass=inetOrgPerson)(mail=?))";
|
||||
name = "(&(objectClass=inetOrgPerson)(|(uid=?)(mail=?)(mailRoutingAddress=?)))";
|
||||
email = "(&(objectClass=inetOrgPerson)(mailRoutingAddress=?))";
|
||||
};
|
||||
bind = {
|
||||
dn = "cn=admin,dc=net,dc=dn";
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
{ hostname }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
system,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
let
|
||||
|
|
@ -40,6 +36,12 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
services.journald.extraConfig = ''
|
||||
SystemMaxUse=10G
|
||||
SystemKeepFree=100M
|
||||
MaxFileSec=1month
|
||||
'';
|
||||
|
||||
imports = [
|
||||
./common
|
||||
./home
|
||||
|
|
|
|||
|
|
@ -392,11 +392,21 @@ in
|
|||
"10.0.0.0/24"
|
||||
"192.168.100.0/24"
|
||||
];
|
||||
dns.port = 5300;
|
||||
yaml-settings = {
|
||||
webservice.webserver = true;
|
||||
};
|
||||
};
|
||||
|
||||
dnsdist = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
newServer("127.0.0.1:${toString config.services.pdns-recursor.dns.port}")
|
||||
addDOHLocal("0.0.0.0:8053", nil, nil, "/", { reusePort = true })
|
||||
getPool(""):setCache(newPacketCache(65535, {maxTTL=86400, minTTL=0, temporaryFailureTTL=60, staleTTL=60, dontAge=false}))
|
||||
'';
|
||||
};
|
||||
|
||||
powerdns-admin = {
|
||||
enable = true;
|
||||
secretKeyFile = config.sops.secrets."powerdns-admin/secret".path;
|
||||
|
|
@ -457,13 +467,29 @@ in
|
|||
};
|
||||
|
||||
services.nginx.virtualHosts = {
|
||||
"dns.${config.networking.domain}" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/dns-query" = {
|
||||
extraConfig = ''
|
||||
grpc_pass grpc://127.0.0.1:${toString 8053};
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Forwarded-Protocol $scheme;
|
||||
proxy_set_header Range $http_range;
|
||||
proxy_set_header If-Range $http_if_range;
|
||||
'';
|
||||
};
|
||||
};
|
||||
"powerdns.${config.networking.domain}" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
locations."/api".proxyPass = "http://127.0.0.1:8081";
|
||||
locations."/".proxyPass = "http://127.0.0.1:8000";
|
||||
};
|
||||
|
||||
"uptime.${config.networking.domain}" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue