feat: add some necessary plumbing

This commit is contained in:
oddlama 2022-12-15 17:46:53 +01:00
parent 449d9a2200
commit 5f6012faf1
No known key found for this signature in database
GPG key ID: 14EFE510775FE39A
9 changed files with 213 additions and 20 deletions

View file

@ -9,22 +9,17 @@
'';
in {
imports = [
./inputrc.nix
./issue.nix
./nix.nix
./resolved.nix
./ssh.nix
./tmux.nix
./xdg.nix
./ssh.nix
];
boot.kernelParams = ["log_buf_len=10M"];
environment = {
etc."nixos/configuration.nix".source = dummyConfig;
systemPackages = with pkgs; [
neovim
];
variables.EDITOR = "nvim";
};
environment.etc."nixos/configuration.nix".source = dummyConfig;
# Disable unnecessary stuff from the nixos defaults.
services.udisks2.enable = false;
@ -64,8 +59,11 @@ in {
};
};
neovim = {
package = pkgs.neovim;
enable = true;
viAlias = true;
vimAlias = true;
defaultEditor = true;
};
};

110
core/inputrc.nix Normal file
View file

@ -0,0 +1,110 @@
{
environment.etc."inputrc".text = ''
# /etc/inputrc: initialization file for readline
#
# For more information on how this file works, please see the
# INITIALIZATION FILE section of the readline(3) man page
#
# Quick dirty little note:
# To get the key sequence for binding, you can abuse bash.
# While running bash, hit CTRL+V, and then type the key sequence.
# So, typing 'ALT + left arrow' in Konsole gets you back:
# ^[[1;3D
# The readline entry to make this skip back a word will then be:
# "\e[1;3D" backward-word
#
# Customization note:
# You don't need to put all your changes in this file. You can create
# ~/.inputrc which starts off with the line:
# $include /etc/inputrc
# Then put all your own stuff after that.
#
# do not bell on tab-completion
set bell-style none
set history-size -1
set meta-flag on
set input-meta on
set convert-meta off
set output-meta on
# dont output everything on first line
set horizontal-scroll-mode off
# append slash to completed directories & symlinked directories
set mark-directories on
set mark-symlinked-directories on
# dont expand ~ in tab completion
set expand-tilde off
# instead of ringing bell, show list of ambigious completions directly, also show up to 300 items before asking
set show-all-if-ambiguous on
set completion-query-items 300
$if mode=emacs
# for linux console and RH/Debian xterm
# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line
# map "page up" and "page down" to search history based on current cmdline
"\e[5~": history-search-backward
"\e[6~": history-search-forward
# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert
# gnome / others (escape + arrow key)
"\e[5C": forward-word
"\e[5D": backward-word
# konsole / xterm / rxvt (escape + arrow key)
"\e\e[C": forward-word
"\e\e[D": backward-word
# gnome / konsole / others (control + arrow key)
"\e[1;5C": forward-word
"\e[1;5D": backward-word
# aterm / eterm (control + arrow key)
"\eOc": forward-word
"\eOd": backward-word
# konsole (alt + arrow key)
"\e[1;3C": forward-word
"\e[1;3D": backward-word
# Chromebooks remap alt + backspace so provide alternative (alt + k)
"\ek": backward-kill-word
$if term=rxvt
"\e[8~": end-of-line
"\e[3^": kill-line
"\e[3@": backward-kill-line
$endif
# for non RH/Debian xterm, can't hurt for RH/Debian xterm
"\eOH": beginning-of-line
"\eOF": end-of-line
# for freebsd console
"\e[H": beginning-of-line
"\e[F": end-of-line
# fix Home and End for German users
"\e[7~": beginning-of-line
"\e[8~": end-of-line
# ctrl [+ shift] + del = kill line [backward]
"\e[3;5~": kill-line
"\e[3;6~": backward-kill-line
$endif
# Up and Down should search history based on current cmdline
"\e[A": history-search-backward
"\e[B": history-search-forward
'';
}

7
core/issue.nix Normal file
View file

@ -0,0 +1,7 @@
{
environment.etc."issue".text = ''
\d \t
This is \e{cyan}\n\e{reset} [\e{lightblue}\l\e{reset}] (\s \m \r)
'';
environment.etc."issue.logo".text = environment.etc."issue".text;
}

View file

@ -13,6 +13,7 @@
../../modules/efi.nix
../../modules/laptop.nix
../../modules/sound-pipewire.nix
../../modules/yubikey.nix
../../modules/zfs.nix

View file

@ -3,7 +3,7 @@
pkgs,
...
}: {
environment.systemPackages = with pkgs; [pulseaudio];
environment.systemPackages = with pkgs; [pulseaudio pulsemixer];
hardware.pulseaudio.enable = lib.mkForce false;

View file

@ -5,11 +5,10 @@
#./atuin.nix
#./bash.nix
#./btop.nix
#./fish.nix
#./git.nix
./fish.nix
./git.nix
./htop.nix
#./neovim
./nushell.nix
#./ssh.nix
./starship.nix
#./tmux.nix
@ -23,7 +22,6 @@
bandwhich
btop
fd
kalker
neofetch
rclone
ripgrep
@ -45,7 +43,6 @@
chmod = "chmod -c --preserve-root";
chown = "chown -c --preserve-root";
vim = "nvim";
ip = "ip --color";
tmux = "tmux -2";
rg = "rg -S";

47
users/common/fish.nix Normal file
View file

@ -0,0 +1,47 @@
{
lib,
pkgs,
...
}: {
programs = {
fish = {
enable = true;
interactiveShellInit = lib.mkMerge [
(lib.mkBefore ''
set -g ATUIN_NOBIND true
set -g fish_escape_delay_ms 300
set -g fish_greeting
'')
(lib.mkAfter ''
enable_ayu_theme_dark
${pkgs.any-nix-shell}/bin/any-nix-shell fish | source
fish_vi_key_bindings insert
# atuin
bind -M insert \cr _atuin_search
# quickly open text file
bind -M insert \co 'fzf | xargs -r $VISUAL'
'')
];
plugins = [
{
name = "ayu-theme.fish";
src = pkgs.fetchFromGitHub {
owner = "edouard-lopez";
repo = "ayu-theme.fish";
rev = "d351d24263d87bef3a90424e0e9c74746673e383";
hash = "sha256-rx9izD2pc3hLObOehuiMwFB4Ta5G1lWVv9Jdb+JHIz0=";
};
}
{
name = "autopair.fish";
src = pkgs.fetchFromGitHub {
owner = "jorgebucaran";
repo = "autopair.fish";
rev = "1.0.4";
hash = "sha256-s1o188TlwpUQEN3X5MxUlD/2CFCpEkWu83U9O+wg3VU=";
};
}
];
};
};
}

38
users/common/git.nix Normal file
View file

@ -0,0 +1,38 @@
{
lib,
pkgs,
...
}: {
programs.gitui.enable = true;
programs.git = {
enable = true;
difftastic.enable = true;
lfs.enable = lib.mkDefault false;
extraConfig = {
#diff = {
# colorMoved = "default";
# age.textconv = "${pkgs.rage}/bin/rage -i ~/.ssh/username --decrypt";
#};
difftool.prompt = true;
init.defaultBranch = "main";
merge.conflictstyle = "diff3";
mergetool.prompt = true;
};
aliases = {
unstash = "stash pop";
s = status;
tags = "tag -l";
t = "tag -s -m ''";
ci = "commit -v -S";
cam = "commit -v -S --amend";
};
};
home.shellAliases = rec {
g = "gitui";
gs = "git status";
ga = "git add";
gc = "git commit -v -S";
gca = "${gci} --amend";
};
}

View file

@ -1,5 +0,0 @@
{
programs.nushell = {
enable = true;
};
}