Compare commits
6 Commits
ddf67af125
...
275cd01243
Author | SHA1 | Date | |
---|---|---|---|
275cd01243 | |||
56cd6332ae | |||
f13a0f6863 | |||
4722e7f591 | |||
7ef4e9b4f1 | |||
82a4bcf325 |
67
flake.lock
generated
67
flake.lock
generated
@ -142,11 +142,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747978958,
|
"lastModified": 1748134483,
|
||||||
"narHash": "sha256-pQQnbxWpY3IiZqgelXHIe/OAE/Yv4NSQq7fch7M6nXQ=",
|
"narHash": "sha256-5PBK1nV8X39K3qUj8B477Aa2RdbLq3m7wRxUKRtggX4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "7419250703fd5eb50e99bdfb07a86671939103ea",
|
"rev": "c1e671036224089937e111e32ea899f59181c383",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -211,11 +211,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747540584,
|
"lastModified": 1748145500,
|
||||||
"narHash": "sha256-cxCQ413JTUuRv9Ygd8DABJ1D6kuB/nTfQqC0Lu9C0ls=",
|
"narHash": "sha256-t9fx0l61WOxtWxXCqlXPWSuG/0XMF9DtE2T7KXgMqJw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "ec179dd13fb7b4c6844f55be91436f7857226dce",
|
"rev": "a98adbf54d663395df0b9929f6481d4d80fc8927",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -274,11 +274,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747744144,
|
"lastModified": 1748026106,
|
||||||
"narHash": "sha256-W7lqHp0qZiENCDwUZ5EX/lNhxjMdNapFnbErcbnP11Q=",
|
"narHash": "sha256-6m1Y3/4pVw1RWTsrkAK2VMYSzG4MMIj7sqUy7o8th1o=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2795c506fe8fb7b03c36ccb51f75b6df0ab2553f",
|
"rev": "063f43f2dbdef86376cc29ad646c45c46e93234c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@ -288,16 +288,59 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"pumo-system-info": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"rust-overlay": "rust-overlay"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1748127405,
|
||||||
|
"narHash": "sha256-5Xh7VXmjeK5m8Dxt2bti8A2HdkpmPftHc2+WXH3tQH8=",
|
||||||
|
"ref": "refs/heads/develop",
|
||||||
|
"rev": "06fa652f9626590a9727f3ec8b48330ad3fcb78f",
|
||||||
|
"revCount": 6,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://labs.phundrak.com/phundrak/pumo-system-info"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://labs.phundrak.com/phundrak/pumo-system-info"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"devenv": "devenv",
|
"devenv": "devenv",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixpkgs": "nixpkgs_4",
|
"nixpkgs": "nixpkgs_4",
|
||||||
|
"pumo-system-info": "pumo-system-info",
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"zen-browser": "zen-browser"
|
"zen-browser": "zen-browser"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"rust-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"pumo-system-info",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1748054080,
|
||||||
|
"narHash": "sha256-rwFiLLNCwkj9bqePtH1sMqzs1xmohE0Ojq249piMzF4=",
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"rev": "2221d8d53c128beb69346fa3ab36da3f19bb1691",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"sops-nix": {
|
"sops-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -325,11 +368,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1747886840,
|
"lastModified": 1748059546,
|
||||||
"narHash": "sha256-onMR+v1i/Wf4MhaBtZ8N0ciRYOJITZDJrfZ4FxDmODw=",
|
"narHash": "sha256-e0jy8RU8ofOdeS5gF9Hir+M5Wn0q7D8MkpeQXsOJdu4=",
|
||||||
"owner": "youwen5",
|
"owner": "youwen5",
|
||||||
"repo": "zen-browser-flake",
|
"repo": "zen-browser-flake",
|
||||||
"rev": "47237b74af73d19729fd5d851665b2ecdd775745",
|
"rev": "716a5af28d686d67146d01b14112c919b6133a84",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -15,6 +15,11 @@
|
|||||||
|
|
||||||
devenv.url = "github:cachix/devenv";
|
devenv.url = "github:cachix/devenv";
|
||||||
|
|
||||||
|
pumo-system-info = {
|
||||||
|
url = "git+https://labs.phundrak.com/phundrak/pumo-system-info";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
sops-nix = {
|
sops-nix = {
|
||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -12,7 +12,6 @@
|
|||||||
./shell
|
./shell
|
||||||
./ssh.nix
|
./ssh.nix
|
||||||
./tealdeer.nix
|
./tealdeer.nix
|
||||||
./tmux.nix
|
|
||||||
./vcs
|
./vcs
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
with lib; let
|
with lib; let
|
||||||
emacsDefaultPackage = with pkgs; ((emacsPackagesFor emacsNativeComp).emacsWithPackages (
|
emacsDefaultPackage = with pkgs; ((emacsPackagesFor emacsNativeComp).emacsWithPackages (
|
||||||
epkgs: [
|
epkgs: [
|
||||||
epkgs.vterm
|
|
||||||
epkgs.mu4e
|
epkgs.mu4e
|
||||||
epkgs.pdf-tools
|
epkgs.pdf-tools
|
||||||
]
|
]
|
||||||
|
@ -121,7 +121,7 @@ in {
|
|||||||
$down = t
|
$down = t
|
||||||
$menu = ${pkgs.wofi}/bin/wofi --show drun
|
$menu = ${pkgs.wofi}/bin/wofi --show drun
|
||||||
|
|
||||||
bind = SUPER, Return, exec, kitty
|
bind = SUPER, Return, exec, ${pkgs.kitty}/bin/kitty ${pkgs.tmux}/bin/tmux
|
||||||
bind = SUPER, Space, submap, leader
|
bind = SUPER, Space, submap, leader
|
||||||
bind = , Print, submap, screenshot
|
bind = , Print, submap, screenshot
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{pkgs, ...}:{
|
{pkgs, ...}: {
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
themeFile = "Nord";
|
themeFile = "Nord";
|
||||||
|
@ -7,8 +7,8 @@ with lib; let
|
|||||||
cfg = config.modules.bash;
|
cfg = config.modules.bash;
|
||||||
in {
|
in {
|
||||||
options.modules.bash = {
|
options.modules.bash = {
|
||||||
enable = lib.mkEnableOption "enables bash";
|
enable = mkEnableOption "Enables bash";
|
||||||
aliases = lib.mkOption {
|
aliases = mkOption {
|
||||||
type = types.attrsOf types.str;
|
type = types.attrsOf types.str;
|
||||||
default = {};
|
default = {};
|
||||||
example = {
|
example = {
|
||||||
@ -16,15 +16,23 @@ in {
|
|||||||
lns = "ln -si";
|
lns = "ln -si";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
bashrcExtra = lib.mkOption {
|
eatIntegration = mkEnableOption "Enable Emacs Eat integration";
|
||||||
|
bashrcExtra = mkOption {
|
||||||
type = types.lines;
|
type = types.lines;
|
||||||
default = "";
|
default = "";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
programs.bash = {
|
programs.bash = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
# inherit (cfg) bashrcExtra;
|
||||||
|
bashrcExtra =
|
||||||
|
concatLines
|
||||||
|
[
|
||||||
|
(strings.optionalString cfg.eatIntegration ''[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && source "$EAT_SHELL_INTEGRATION_DIR/bash"'')
|
||||||
|
cfg.bashrcExtra
|
||||||
|
];
|
||||||
shellAliases = cfg.aliases;
|
shellAliases = cfg.aliases;
|
||||||
shellOptions = [
|
shellOptions = [
|
||||||
"histappend"
|
"histappend"
|
||||||
|
@ -17,6 +17,19 @@ with lib; let
|
|||||||
psmem10 = "ps auxf | sort -nr -k 4 | head -10";
|
psmem10 = "ps auxf | sort -nr -k 4 | head -10";
|
||||||
|
|
||||||
s = "systemctl";
|
s = "systemctl";
|
||||||
|
ss = "systemctl status";
|
||||||
|
sst = "systemctl stop";
|
||||||
|
sr = "systemctl restart";
|
||||||
|
sre = "systemctl reload";
|
||||||
|
se = "systemctl enable";
|
||||||
|
sen = "systemctl enable --now";
|
||||||
|
su = "systemctl --user";
|
||||||
|
sus = "systemctl --user status";
|
||||||
|
sust = "systemctl --user stop";
|
||||||
|
sur = "systemctl --user restart";
|
||||||
|
sure = "systemctl --user reload";
|
||||||
|
sue = "systemctl --user enable";
|
||||||
|
suen = "systemctl --user enable --now";
|
||||||
|
|
||||||
dc = "docker compose";
|
dc = "docker compose";
|
||||||
dcd = "docker compose down";
|
dcd = "docker compose down";
|
||||||
@ -54,29 +67,32 @@ in {
|
|||||||
./bash.nix
|
./bash.nix
|
||||||
./fish.nix
|
./fish.nix
|
||||||
./starship.nix
|
./starship.nix
|
||||||
|
./tmux.nix
|
||||||
./zsh.nix
|
./zsh.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
options.modules.shell = {
|
options.modules.shell = {
|
||||||
|
eatIntegration = mkEnableOption "Enable Emacs Eat integration in Bash or Zsh";
|
||||||
enableBash = mkOption {
|
enableBash = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = true;
|
default = true;
|
||||||
description = "enables bash";
|
description = "Enables bash";
|
||||||
};
|
};
|
||||||
enableFish = mkOption {
|
enableFish = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = true;
|
default = true;
|
||||||
description = "enables fish";
|
description = "Enables fish";
|
||||||
};
|
};
|
||||||
enableZsh = mkOption {
|
enableZsh = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = true;
|
default = true;
|
||||||
description = "enables zsh";
|
description = "Enables zsh";
|
||||||
};
|
};
|
||||||
starship = {
|
starship = {
|
||||||
enable = mkEnableOption "Enables the starship prompt.";
|
enable = mkEnableOption "Enables the starship prompt.";
|
||||||
jjIntegration = mkEnableOption "Enables Jujutsu integration in starship.";
|
jjIntegration = mkEnableOption "Enables Jujutsu integration in starship.";
|
||||||
};
|
};
|
||||||
|
tmux.enable = mkEnableOption "Enables tmux";
|
||||||
zoxide = {
|
zoxide = {
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
@ -111,6 +127,7 @@ in {
|
|||||||
enable = mkDefault cfg.enableZsh;
|
enable = mkDefault cfg.enableZsh;
|
||||||
abbrs = mkDefault aliases;
|
abbrs = mkDefault aliases;
|
||||||
};
|
};
|
||||||
|
tmux.enable = cfg.tmux.enable;
|
||||||
inherit (cfg) starship;
|
inherit (cfg) starship;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -17,6 +17,10 @@ in {
|
|||||||
lns = "ln -si";
|
lns = "ln -si";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
extraShellInit = mkOption {
|
||||||
|
type = types.lines;
|
||||||
|
default = "";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
@ -24,11 +28,15 @@ in {
|
|||||||
enable = true;
|
enable = true;
|
||||||
shellAbbrs = cfg.abbrs;
|
shellAbbrs = cfg.abbrs;
|
||||||
preferAbbrs = true;
|
preferAbbrs = true;
|
||||||
shellInit = ''
|
shellInit = with lib;
|
||||||
|
concatLines [
|
||||||
|
''
|
||||||
function fish_command_not_found
|
function fish_command_not_found
|
||||||
__fish_default_command_not_found_handler $argv
|
__fish_default_command_not_found_handler $argv
|
||||||
end
|
end
|
||||||
'';
|
''
|
||||||
|
cfg.extraShellInit
|
||||||
|
];
|
||||||
plugins = [
|
plugins = [
|
||||||
{
|
{
|
||||||
name = "bass";
|
name = "bass";
|
||||||
|
@ -14,8 +14,8 @@ in {
|
|||||||
config.programs.starship = mkIf cfg.enable {
|
config.programs.starship = mkIf cfg.enable {
|
||||||
inherit (cfg) enable;
|
inherit (cfg) enable;
|
||||||
enableTransience = true;
|
enableTransience = true;
|
||||||
settings.custom = {
|
settings = {
|
||||||
jj = {
|
custom.jj = {
|
||||||
description = "The current jj status";
|
description = "The current jj status";
|
||||||
detect_folders = [".jj"];
|
detect_folders = [".jj"];
|
||||||
symbol = "🥋 ";
|
symbol = "🥋 ";
|
||||||
|
@ -1,6 +1,15 @@
|
|||||||
{pkgs, ...}: {
|
{
|
||||||
programs.tmux = {
|
pkgs,
|
||||||
enable = true;
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.modules.tmux;
|
||||||
|
in {
|
||||||
|
options.modules.tmux.enable = mkEnableOption "Enable tmux";
|
||||||
|
config.programs.tmux = mkIf cfg.enable {
|
||||||
|
inherit (cfg) enable;
|
||||||
baseIndex = 1;
|
baseIndex = 1;
|
||||||
clock24 = true;
|
clock24 = true;
|
||||||
customPaneNavigationAndResize = true;
|
customPaneNavigationAndResize = true;
|
@ -8,7 +8,7 @@ with lib; let
|
|||||||
cfg = config.modules.zsh;
|
cfg = config.modules.zsh;
|
||||||
in {
|
in {
|
||||||
options.modules.zsh = {
|
options.modules.zsh = {
|
||||||
enable = lib.mkEnableOption "enables zsh";
|
enable = lib.mkEnableOption "Enables zsh";
|
||||||
abbrs = lib.mkOption {
|
abbrs = lib.mkOption {
|
||||||
type = types.attrsOf types.str;
|
type = types.attrsOf types.str;
|
||||||
default = {};
|
default = {};
|
||||||
@ -17,19 +17,10 @@ in {
|
|||||||
lns = "ln -si";
|
lns = "ln -si";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
eatIntegration = mkEnableOption "Enable Emacs Eat integration";
|
||||||
zshrcExtra = lib.mkOption {
|
zshrcExtra = lib.mkOption {
|
||||||
type = types.lines;
|
type = types.lines;
|
||||||
default = ''
|
default = "";
|
||||||
bindkey -e
|
|
||||||
bindkey '^p' history-search-backward
|
|
||||||
bindkey '^n' history-search-forward
|
|
||||||
|
|
||||||
# Completion styling
|
|
||||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
|
||||||
zstyle ':completion:*' list-colors "''${(s.:.)LS_COLORS}"
|
|
||||||
zstyle ':completion:*' menu no
|
|
||||||
zstyle ':fzf-tab:complete:cd:*' fzf-preview '${pkgs.eza}/bin/eza $realpath'
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -50,7 +41,22 @@ in {
|
|||||||
saveNoDups = true;
|
saveNoDups = true;
|
||||||
};
|
};
|
||||||
historySubstringSearch.enable = true;
|
historySubstringSearch.enable = true;
|
||||||
initContent = cfg.zshrcExtra;
|
initContent = with lib;
|
||||||
|
concatLines [
|
||||||
|
''
|
||||||
|
bindkey -e
|
||||||
|
bindkey '^p' history-search-backward
|
||||||
|
bindkey '^n' history-search-forward
|
||||||
|
|
||||||
|
# Completion styling
|
||||||
|
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
|
||||||
|
zstyle ':completion:*' list-colors "''${(s.:.)LS_COLORS}"
|
||||||
|
zstyle ':completion:*' menu no
|
||||||
|
zstyle ':fzf-tab:complete:cd:*' fzf-preview '${pkgs.eza}/bin/eza $realpath'
|
||||||
|
''
|
||||||
|
(strings.optionalString cfg.eatIntegration ''[ -n "$EAT_SHELL_INTEGRATION_DIR" ] && source "$EAT_SHELL_INTEGRATION_DIR/zsh"'')
|
||||||
|
cfg.zshrcExtra
|
||||||
|
];
|
||||||
oh-my-zsh = {
|
oh-my-zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = [
|
plugins = [
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
config = let
|
config = let
|
||||||
emacsPkg = with pkgs; ((emacsPackagesFor emacsNativeComp).emacsWithPackages (
|
emacsPkg = with pkgs; ((emacsPackagesFor emacsNativeComp).emacsWithPackages (
|
||||||
epkgs: [
|
epkgs: [
|
||||||
epkgs.vterm
|
|
||||||
epkgs.mu4e
|
epkgs.mu4e
|
||||||
epkgs.pdf-tools
|
epkgs.pdf-tools
|
||||||
]
|
]
|
||||||
@ -49,7 +48,10 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
shell.starship.jjIntegration = true;
|
shell = {
|
||||||
|
eatIntegration = true;
|
||||||
|
starship.jjIntegration = true;
|
||||||
|
};
|
||||||
bat.extras = true;
|
bat.extras = true;
|
||||||
packages.emacsPackage = emacsPkg;
|
packages.emacsPackage = emacsPkg;
|
||||||
mopidy.enable = true;
|
mopidy.enable = true;
|
||||||
|
@ -51,7 +51,10 @@ in {
|
|||||||
};
|
};
|
||||||
|
|
||||||
modules = {
|
modules = {
|
||||||
shell.starship.enable = true;
|
shell = {
|
||||||
|
starship.enable = true;
|
||||||
|
tmux.enable = true;
|
||||||
|
};
|
||||||
vcs = {
|
vcs = {
|
||||||
git.enable = true;
|
git.enable = true;
|
||||||
jj.enable = true;
|
jj.enable = true;
|
||||||
|
@ -62,6 +62,7 @@ in {
|
|||||||
syncthing
|
syncthing
|
||||||
watchmate
|
watchmate
|
||||||
inputs.zen-browser.packages.${system}.default
|
inputs.zen-browser.packages.${system}.default
|
||||||
|
inputs.pumo-system-info.packages.${system}.default
|
||||||
|
|
||||||
# Games
|
# Games
|
||||||
atlauncher
|
atlauncher
|
||||||
|
Loading…
x
Reference in New Issue
Block a user