mirror of
https://github.com/nmasur/dotfiles
synced 2024-11-23 01:05:38 +00:00
some global options with flakes
This commit is contained in:
parent
f9d106e27d
commit
80209f3a4c
15
flake.nix
15
flake.nix
@ -30,9 +30,18 @@
|
|||||||
./nixos/configuration.nix
|
./nixos/configuration.nix
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager = {
|
||||||
home-manager.useUserPackages = true;
|
useGlobalPkgs = true;
|
||||||
home-manager.users.${user} = { imports = [ ./nixos/home.nix ]; };
|
useUserPackages = true;
|
||||||
|
users.${user} = {
|
||||||
|
imports = [
|
||||||
|
./nixos/home.nix
|
||||||
|
./modules/applications/firefox.nix
|
||||||
|
./modules/shell/fish.nix
|
||||||
|
./modules/applications/alacritty.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
71
modules/applications/alacritty.nix
Normal file
71
modules/applications/alacritty.nix
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
{ pkgs, config, ... }: {
|
||||||
|
programs.alacritty = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
window = {
|
||||||
|
dimensions = {
|
||||||
|
columns = 85;
|
||||||
|
lines = 30;
|
||||||
|
};
|
||||||
|
padding = {
|
||||||
|
x = 20;
|
||||||
|
y = 20;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
scrolling.history = 10000;
|
||||||
|
font = {
|
||||||
|
size = 14.0;
|
||||||
|
normal = { family = "${config.font}"; };
|
||||||
|
};
|
||||||
|
key_bindings = [
|
||||||
|
{
|
||||||
|
key = "L";
|
||||||
|
mods = "Control|Shift";
|
||||||
|
chars = "\\x1F";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "K";
|
||||||
|
mods = "Control";
|
||||||
|
mode = "~Vi";
|
||||||
|
action = "ToggleViMode";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "Return";
|
||||||
|
mode = "Vi";
|
||||||
|
action = "ToggleViMode";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
colors = {
|
||||||
|
primary = {
|
||||||
|
background = "0x1d2021";
|
||||||
|
foreground = "0xd5c4a1";
|
||||||
|
};
|
||||||
|
cursor = {
|
||||||
|
text = "0x1d2021";
|
||||||
|
cursor = "0xd5c4a1";
|
||||||
|
};
|
||||||
|
normal = {
|
||||||
|
black = "0x1d2021";
|
||||||
|
red = "0xfb4934";
|
||||||
|
green = "0xb8bb26";
|
||||||
|
yellow = "0xfabd2f";
|
||||||
|
blue = "0x83a598";
|
||||||
|
magenta = "0xd3869b";
|
||||||
|
cyan = "0x8ec07c";
|
||||||
|
white = "0xd5c4a1";
|
||||||
|
};
|
||||||
|
bright = {
|
||||||
|
black = "0x665c54";
|
||||||
|
red = "0xfe8019";
|
||||||
|
green = "0x3c3836";
|
||||||
|
yellow = "0x504945";
|
||||||
|
blue = "0xbdae93";
|
||||||
|
magenta = "0xebdbb2";
|
||||||
|
cyan = "0xd65d0e";
|
||||||
|
white = "0xfbf1c7";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
draw_bold_text_with_bright_colors = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
5
modules/applications/firefox.nix
Normal file
5
modules/applications/firefox.nix
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
home.packages = with pkgs; [ firefox ];
|
||||||
|
}
|
1
modules/shell/default.nix
Normal file
1
modules/shell/default.nix
Normal file
@ -0,0 +1 @@
|
|||||||
|
{ pkgs, dotfiles, nixos_config ... }: { imports = [ ./fish.nix ]; }
|
129
modules/shell/fish.nix
Normal file
129
modules/shell/fish.nix
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
{ config, pkgs, ... }: {
|
||||||
|
|
||||||
|
programs.fish = {
|
||||||
|
enable = true;
|
||||||
|
functions = { };
|
||||||
|
interactiveShellInit = "";
|
||||||
|
loginShellInit = "";
|
||||||
|
shellAliases = {
|
||||||
|
vim = "nvim";
|
||||||
|
sudo = "doas";
|
||||||
|
};
|
||||||
|
shellAbbrs = {
|
||||||
|
|
||||||
|
# Directory aliases
|
||||||
|
l = "ls";
|
||||||
|
lh = "ls -lh";
|
||||||
|
ll = "ls -alhF";
|
||||||
|
la = "ls -a";
|
||||||
|
lf = "ls -lh | fzf";
|
||||||
|
c = "cd";
|
||||||
|
"-" = "cd -";
|
||||||
|
mkd = "mkdir -pv";
|
||||||
|
|
||||||
|
# System
|
||||||
|
s = "sudo";
|
||||||
|
sc = "systemctl";
|
||||||
|
scs = "systemctl status";
|
||||||
|
reb =
|
||||||
|
"nixos-rebuild switch -I nixos-config=${config.nixos_config}/configuration.nix";
|
||||||
|
|
||||||
|
# Tmux
|
||||||
|
ta = "tmux attach-session";
|
||||||
|
tan = "tmux attach-session -t noah";
|
||||||
|
tnn = "tmux new-session -s noah";
|
||||||
|
|
||||||
|
# Git
|
||||||
|
g = "git";
|
||||||
|
gs = "git status";
|
||||||
|
gd = "git diff";
|
||||||
|
gds = "git diff --staged";
|
||||||
|
gdp = "git diff HEAD^";
|
||||||
|
ga = "git add";
|
||||||
|
gaa = "git add -A";
|
||||||
|
gac = "git commit -am";
|
||||||
|
gc = "git commit -m";
|
||||||
|
gca = "git commit --amend --no-edit";
|
||||||
|
gcae = "git commit --amend";
|
||||||
|
gu = "git pull";
|
||||||
|
gp = "git push";
|
||||||
|
gpp = "git_set_upstream";
|
||||||
|
gl = "git log --graph --decorate --oneline -20";
|
||||||
|
gll = "git log --graph --decorate --oneline";
|
||||||
|
gco = "git checkout";
|
||||||
|
gcom = "git switch master";
|
||||||
|
gcob = "git switch -c";
|
||||||
|
gb = "git branch";
|
||||||
|
gbd = "git branch -d";
|
||||||
|
gbD = "git branch -D";
|
||||||
|
gr = "git reset";
|
||||||
|
grh = "git reset --hard";
|
||||||
|
gm = "git merge";
|
||||||
|
gcp = "git cherry-pick";
|
||||||
|
cdg = "cd (git rev-parse --show-toplevel)";
|
||||||
|
|
||||||
|
# GitHub
|
||||||
|
ghr = "gh repo view -w";
|
||||||
|
gha =
|
||||||
|
"gh run list | head -1 | awk '{ print $(NF-2) }' | xargs gh run view";
|
||||||
|
grw = "gh run watch";
|
||||||
|
grf = "gh run view --log-failed";
|
||||||
|
grl = "gh run view --log";
|
||||||
|
|
||||||
|
# Vim
|
||||||
|
v = "vim";
|
||||||
|
vl = "vim -c 'normal! `0'";
|
||||||
|
vll = "vim -c 'Telescope oldfiles'";
|
||||||
|
vimrc = "vim ${config.dotfiles}/nvim.configlink/init.lua";
|
||||||
|
|
||||||
|
# Notes
|
||||||
|
qn = "quicknote";
|
||||||
|
sn = "syncnotes";
|
||||||
|
to = "today";
|
||||||
|
work = "vim $NOTES_PATH/work.md";
|
||||||
|
|
||||||
|
# CLI Tools
|
||||||
|
cat = "bat"; # Swap cat with bat
|
||||||
|
h = "http -Fh --all"; # Curl site for headers
|
||||||
|
m = "make"; # For makefiles
|
||||||
|
|
||||||
|
# Fun CLI Tools
|
||||||
|
weather = "curl wttr.in/$WEATHER_CITY";
|
||||||
|
moon = "curl wttr.in/Moon";
|
||||||
|
|
||||||
|
# Cheat Sheets
|
||||||
|
ssl =
|
||||||
|
"openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr";
|
||||||
|
fingerprint = "ssh-keyscan myhost.com | ssh-keygen -lf -";
|
||||||
|
publickey = "ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub";
|
||||||
|
forloop = "for i in (seq 1 100)";
|
||||||
|
|
||||||
|
# Docker
|
||||||
|
dc = "$DOTS/bin/docker_cleanup";
|
||||||
|
dr = "docker run --rm -it";
|
||||||
|
db = "docker build . -t";
|
||||||
|
|
||||||
|
# Terraform
|
||||||
|
te = "terraform";
|
||||||
|
|
||||||
|
# Kubernetes
|
||||||
|
k = "kubectl";
|
||||||
|
pods = "kubectl get pods -A";
|
||||||
|
nodes = "kubectl get nodes";
|
||||||
|
deploys = "kubectl get deployments -A";
|
||||||
|
dash = "kube-dashboard";
|
||||||
|
ks = "k9s";
|
||||||
|
|
||||||
|
# Python
|
||||||
|
py = "python";
|
||||||
|
po = "poetry";
|
||||||
|
pr = "poetry run python";
|
||||||
|
|
||||||
|
# Rust
|
||||||
|
ca = "cargo";
|
||||||
|
|
||||||
|
};
|
||||||
|
shellAliases = { };
|
||||||
|
shellInit = "";
|
||||||
|
};
|
||||||
|
}
|
210
nixos/home.nix
210
nixos/home.nix
@ -1,4 +1,4 @@
|
|||||||
{ pkgs, user, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
@ -22,13 +22,19 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
in {
|
in {
|
||||||
|
options = with lib; {
|
||||||
|
user = mkOption { default = "noah"; };
|
||||||
|
font = mkOption { default = font; };
|
||||||
|
nixos_config = mkOption { default = nixos_config; };
|
||||||
|
dotfiles = mkOption { default = dotfiles; };
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# Applications
|
# Applications
|
||||||
firefox
|
|
||||||
neovim
|
neovim
|
||||||
alacritty
|
|
||||||
_1password-gui
|
_1password-gui
|
||||||
discord
|
discord
|
||||||
# neomutt
|
# neomutt
|
||||||
@ -66,203 +72,6 @@ in {
|
|||||||
gtk.enable = true;
|
gtk.enable = true;
|
||||||
gtk.theme = { name = "Adwaita-dark"; };
|
gtk.theme = { name = "Adwaita-dark"; };
|
||||||
|
|
||||||
programs.alacritty = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
window = {
|
|
||||||
dimensions = {
|
|
||||||
columns = 85;
|
|
||||||
lines = 30;
|
|
||||||
};
|
|
||||||
padding = {
|
|
||||||
x = 20;
|
|
||||||
y = 20;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
scrolling.history = 10000;
|
|
||||||
font = {
|
|
||||||
size = 14.0;
|
|
||||||
normal = { family = "${font}"; };
|
|
||||||
};
|
|
||||||
key_bindings = [
|
|
||||||
{
|
|
||||||
key = "L";
|
|
||||||
mods = "Control|Shift";
|
|
||||||
chars = "\\x1F";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "K";
|
|
||||||
mods = "Control";
|
|
||||||
mode = "~Vi";
|
|
||||||
action = "ToggleViMode";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "Return";
|
|
||||||
mode = "Vi";
|
|
||||||
action = "ToggleViMode";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
colors = {
|
|
||||||
primary = {
|
|
||||||
background = "0x1d2021";
|
|
||||||
foreground = "0xd5c4a1";
|
|
||||||
};
|
|
||||||
cursor = {
|
|
||||||
text = "0x1d2021";
|
|
||||||
cursor = "0xd5c4a1";
|
|
||||||
};
|
|
||||||
normal = {
|
|
||||||
black = "0x1d2021";
|
|
||||||
red = "0xfb4934";
|
|
||||||
green = "0xb8bb26";
|
|
||||||
yellow = "0xfabd2f";
|
|
||||||
blue = "0x83a598";
|
|
||||||
magenta = "0xd3869b";
|
|
||||||
cyan = "0x8ec07c";
|
|
||||||
white = "0xd5c4a1";
|
|
||||||
};
|
|
||||||
bright = {
|
|
||||||
black = "0x665c54";
|
|
||||||
red = "0xfe8019";
|
|
||||||
green = "0x3c3836";
|
|
||||||
yellow = "0x504945";
|
|
||||||
blue = "0xbdae93";
|
|
||||||
magenta = "0xebdbb2";
|
|
||||||
cyan = "0xd65d0e";
|
|
||||||
white = "0xfbf1c7";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
draw_bold_text_with_bright_colors = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.fish = {
|
|
||||||
enable = true;
|
|
||||||
functions = { };
|
|
||||||
interactiveShellInit = "";
|
|
||||||
loginShellInit = "";
|
|
||||||
shellAliases = {
|
|
||||||
vim = "nvim";
|
|
||||||
sudo = "doas";
|
|
||||||
};
|
|
||||||
shellAbbrs = {
|
|
||||||
|
|
||||||
# Directory aliases
|
|
||||||
l = "ls";
|
|
||||||
lh = "ls -lh";
|
|
||||||
ll = "ls -alhF";
|
|
||||||
la = "ls -a";
|
|
||||||
lf = "ls -lh | fzf";
|
|
||||||
c = "cd";
|
|
||||||
"-" = "cd -";
|
|
||||||
mkd = "mkdir -pv";
|
|
||||||
|
|
||||||
# System
|
|
||||||
s = "sudo";
|
|
||||||
sc = "systemctl";
|
|
||||||
scs = "systemctl status";
|
|
||||||
reb =
|
|
||||||
"nixos-rebuild switch -I nixos-config=${nixos_config}/configuration.nix";
|
|
||||||
|
|
||||||
# Tmux
|
|
||||||
ta = "tmux attach-session";
|
|
||||||
tan = "tmux attach-session -t noah";
|
|
||||||
tnn = "tmux new-session -s noah";
|
|
||||||
|
|
||||||
# Git
|
|
||||||
g = "git";
|
|
||||||
gs = "git status";
|
|
||||||
gd = "git diff";
|
|
||||||
gds = "git diff --staged";
|
|
||||||
gdp = "git diff HEAD^";
|
|
||||||
ga = "git add";
|
|
||||||
gaa = "git add -A";
|
|
||||||
gac = "git commit -am";
|
|
||||||
gc = "git commit -m";
|
|
||||||
gca = "git commit --amend --no-edit";
|
|
||||||
gcae = "git commit --amend";
|
|
||||||
gu = "git pull";
|
|
||||||
gp = "git push";
|
|
||||||
gpp = "git_set_upstream";
|
|
||||||
gl = "git log --graph --decorate --oneline -20";
|
|
||||||
gll = "git log --graph --decorate --oneline";
|
|
||||||
gco = "git checkout";
|
|
||||||
gcom = "git switch master";
|
|
||||||
gcob = "git switch -c";
|
|
||||||
gb = "git branch";
|
|
||||||
gbd = "git branch -d";
|
|
||||||
gbD = "git branch -D";
|
|
||||||
gr = "git reset";
|
|
||||||
grh = "git reset --hard";
|
|
||||||
gm = "git merge";
|
|
||||||
gcp = "git cherry-pick";
|
|
||||||
cdg = "cd (git rev-parse --show-toplevel)";
|
|
||||||
|
|
||||||
# GitHub
|
|
||||||
ghr = "gh repo view -w";
|
|
||||||
gha =
|
|
||||||
"gh run list | head -1 | awk '{ print $(NF-2) }' | xargs gh run view";
|
|
||||||
grw = "gh run watch";
|
|
||||||
grf = "gh run view --log-failed";
|
|
||||||
grl = "gh run view --log";
|
|
||||||
|
|
||||||
# Vim
|
|
||||||
v = "vim";
|
|
||||||
vl = "vim -c 'normal! `0'";
|
|
||||||
vll = "vim -c 'Telescope oldfiles'";
|
|
||||||
vimrc = "vim ${dotfiles}/nvim.configlink/init.lua";
|
|
||||||
|
|
||||||
# Notes
|
|
||||||
qn = "quicknote";
|
|
||||||
sn = "syncnotes";
|
|
||||||
to = "today";
|
|
||||||
work = "vim $NOTES_PATH/work.md";
|
|
||||||
|
|
||||||
# CLI Tools
|
|
||||||
cat = "bat"; # Swap cat with bat
|
|
||||||
h = "http -Fh --all"; # Curl site for headers
|
|
||||||
m = "make"; # For makefiles
|
|
||||||
|
|
||||||
# Fun CLI Tools
|
|
||||||
weather = "curl wttr.in/$WEATHER_CITY";
|
|
||||||
moon = "curl wttr.in/Moon";
|
|
||||||
|
|
||||||
# Cheat Sheets
|
|
||||||
ssl =
|
|
||||||
"openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr";
|
|
||||||
fingerprint = "ssh-keyscan myhost.com | ssh-keygen -lf -";
|
|
||||||
publickey = "ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub";
|
|
||||||
forloop = "for i in (seq 1 100)";
|
|
||||||
|
|
||||||
# Docker
|
|
||||||
dc = "$DOTS/bin/docker_cleanup";
|
|
||||||
dr = "docker run --rm -it";
|
|
||||||
db = "docker build . -t";
|
|
||||||
|
|
||||||
# Terraform
|
|
||||||
te = "terraform";
|
|
||||||
|
|
||||||
# Kubernetes
|
|
||||||
k = "kubectl";
|
|
||||||
pods = "kubectl get pods -A";
|
|
||||||
nodes = "kubectl get nodes";
|
|
||||||
deploys = "kubectl get deployments -A";
|
|
||||||
dash = "kube-dashboard";
|
|
||||||
ks = "k9s";
|
|
||||||
|
|
||||||
# Python
|
|
||||||
py = "python";
|
|
||||||
po = "poetry";
|
|
||||||
pr = "poetry run python";
|
|
||||||
|
|
||||||
# Rust
|
|
||||||
ca = "cargo";
|
|
||||||
|
|
||||||
};
|
|
||||||
shellAliases = { };
|
|
||||||
shellInit = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
fish_greeting = "";
|
fish_greeting = "";
|
||||||
EDITOR = "${editor}";
|
EDITOR = "${editor}";
|
||||||
@ -344,4 +153,5 @@ in {
|
|||||||
# };
|
# };
|
||||||
# };
|
# };
|
||||||
# };
|
# };
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user