Compare commits

...

2 commits

Author SHA1 Message Date
Evie Litherland-Smith e16ea740c9 Swap default login shell for bash
Add readline variables to configure bash, add ~/.inputrc to
rsync-local-config.sh
2024-07-16 07:45:17 +01:00
Evie Litherland-Smith ca6997fb9a Move external Emacs packages to separate file to make things easier to read 2024-07-16 07:31:51 +01:00
5 changed files with 104 additions and 84 deletions

View file

@ -73,7 +73,7 @@
system ? "x86_64-linux",
username ? "pixelifytica",
hostName ? "Atlas",
loginShell ? "zsh",
loginShell ? "bash",
...
}: [
home-manager.nixosModules.home-manager
@ -89,7 +89,7 @@
networking = {inherit hostName;};
nix.settings.trusted-users = [username];
services.greetd.settings.initial_session.user = username;
programs.${loginShell}.enable = true;
programs.${loginShell} = lib.mkIf (loginShell != "bash") {enable = true;};
users.users.${username} = {
shell = pkgs.${loginShell};
group = "users";
@ -137,53 +137,48 @@
system = "x86_64-linux";
username = "pixelifytica";
hostName = "Legion";
loginShell = "zsh";
in
nixpkgs.lib.nixosSystem {
specialArgs = defaultSpecialArgs {inherit system;};
modules = defaultModules {inherit system username hostName loginShell;};
modules = defaultModules {inherit system username hostName;};
};
## Personal
Northstar = let
system = "x86_64-linux";
username = "pixelifytica";
hostName = "Northstar";
loginShell = "zsh";
in
nixpkgs.lib.nixosSystem {
specialArgs = defaultSpecialArgs {inherit system;};
modules = defaultModules {inherit system username hostName loginShell;};
modules = defaultModules {inherit system username hostName;};
};
Vanguard = let
system = "x86_64-linux";
username = "pixelifytica";
hostName = "Vanguard";
loginShell = "zsh";
in
nixpkgs.lib.nixosSystem {
specialArgs = defaultSpecialArgs {inherit system;};
modules = defaultModules {inherit system username hostName loginShell;};
modules = defaultModules {inherit system username hostName;};
};
## Work
Tone = let
system = "x86_64-linux";
username = "elitherl";
hostName = "Tone";
loginShell = "zsh";
in
nixpkgs.lib.nixosSystem {
specialArgs = defaultSpecialArgs {inherit system;};
modules = defaultModules {inherit system username hostName loginShell;};
modules = defaultModules {inherit system username hostName;};
};
Scorch = let
system = "x86_64-linux";
username = "elitherl";
hostName = "Scorch";
loginShell = "zsh";
in
nixpkgs.lib.nixosSystem {
specialArgs = defaultSpecialArgs {inherit system;};
modules = defaultModules {inherit system username hostName loginShell;};
modules = defaultModules {inherit system username hostName;};
};
};
};

View file

@ -51,74 +51,14 @@
(load-theme '${custom-theme-name})
'';
extraPackages = epkgs:
with epkgs; [
# Tree-sitter grammars, not a real Emacs package
treesit-grammars.with-all-grammars
# Maildir utils with linked Emacs package
mu4e
# Theme
base16-theme
# UI
all-the-icons
nerd-icons
nerd-icons-completion
nerd-icons-corfu
nerd-icons-dired
nerd-icons-ibuffer
minions
ligature
page-break-lines
helpful
which-key
ace-window
link-hint
diff-hl
# Completion
vertico
orderless
marginalia
cape
corfu
corfu-terminal
consult
consult-eglot
consult-flyspell
embark
embark-consult
flyspell-correct
tempel
# IDE
treesit-auto
magit
forge
flymake-popon
flymake-shellcheck
flymake-yamllint
flymake-eslint
apheleia
envrc
rainbow-delimiters
aggressive-indent
python-docstring
nix-mode
lua-mode
# Writing
org-roam
org-noter
citar
citar-embark
markdown-mode
pandoc-mode
auctex
htmlize
# Other
password-store
emms
bbdb
ement
elfeed
elfeed-org
];
with epkgs;
[
# Tree-sitter grammars, not a real Emacs package
treesit-grammars.with-all-grammars
# Maildir utils with linked Emacs package
mu4e
]
++ (import ./emacs-packages.nix epkgs);
};
home.packages = with pkgs; [
# Emacs requirements

View file

@ -0,0 +1,65 @@
epkgs:
with epkgs; [
# Theme
base16-theme
# UI
all-the-icons
nerd-icons
nerd-icons-completion
nerd-icons-corfu
nerd-icons-dired
nerd-icons-ibuffer
minions
ligature
page-break-lines
helpful
which-key
ace-window
link-hint
diff-hl
# Completion
vertico
orderless
marginalia
cape
corfu
corfu-terminal
consult
consult-eglot
consult-flyspell
embark
embark-consult
flyspell-correct
tempel
# IDE
treesit-auto
magit
forge
flymake-popon
flymake-shellcheck
flymake-yamllint
flymake-eslint
apheleia
envrc
rainbow-delimiters
aggressive-indent
python-docstring
nix-mode
lua-mode
# Writing
org-roam
org-noter
citar
citar-embark
markdown-mode
pandoc-mode
auctex
htmlize
# Other
password-store
emms
bbdb
ement
elfeed
elfeed-org
]

View file

@ -1,7 +1,7 @@
HOSTS=("$@")
# Config files
for TARGET in bat starship.toml; do
SOURCE="$HOME/.config/$TARGET"
for TARGET in ".inputrc" ".config/bat/" ".config/starship.toml"; do
SOURCE="$HOME/$TARGET"
echo "--- $SOURCE ---"
TMP_TARGET=/tmp/rsync-local-config
TMP_SOURCE=$TMP_TARGET
@ -16,7 +16,7 @@ for TARGET in bat starship.toml; do
rsync -avzL --exclude=".git*" --chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r "$SOURCE" $TMP_TARGET
sh -c "$NIX_REPLACE"
for HOST in "${HOSTS[@]}"; do
rsync -avzL --delete --exclude=".git*" $TMP_SOURCE "$HOST:.config/$TARGET"
rsync -avzL --delete --exclude=".git*" $TMP_SOURCE "$HOST:$TARGET"
done
rm -rf $TMP_SOURCE
fi

View file

@ -13,7 +13,10 @@
du-dust
];
programs = {
bash.enable = true;
bash = {
enable = true;
enableCompletion = true;
};
bat = {
enable = true;
config = {
@ -39,6 +42,23 @@
fileWidgetCommand = "${pkgs.fd}/bin/fd --type f";
};
jq.enable = true;
readline = {
enable = true;
variables = {
bell-style = "visible";
blink-matching-paren = "On";
colored-completion-prefix = "On";
colored-stats = "On";
completion-ignore-case = "On";
completion-map-case = "On";
editing-mode = "emacs";
expand-tilde = "On";
horizontal-scroll-mode = "On";
mark-directories = "On";
mark-symlinked-directories = "On";
visible-stats = "On";
};
};
ripgrep.enable = true;
};
}