modularized
This commit is contained in:
parent
5cb36f9e8d
commit
708c34448a
|
@ -26,7 +26,10 @@
|
|||
|
||||
# Specify your home configuration modules here, for example,
|
||||
# the path to your home.nix.
|
||||
modules = [ ./home.nix ];
|
||||
modules = [
|
||||
./home.nix
|
||||
./shell
|
||||
];
|
||||
|
||||
# Optionally use extraSpecialArgs
|
||||
# to pass through arguments to home.nix
|
||||
|
|
89
home.nix
89
home.nix
|
@ -10,76 +10,41 @@
|
|||
};
|
||||
packages = with pkgs; [
|
||||
wineWowPackages.unstable
|
||||
gcc-arm-embedded
|
||||
];
|
||||
};
|
||||
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableAutosuggestions = true;
|
||||
enableCompletion = true;
|
||||
enableVteIntegration = true;
|
||||
cdpath = [
|
||||
"/mnt/nixos/etc/nixos/"
|
||||
"/mnt/stuff/school/"
|
||||
];
|
||||
defaultKeymap = null; # was "vicmd"
|
||||
dotDir = ".config/zsh";
|
||||
history = {
|
||||
ignoreSpace = true;
|
||||
path = "${config.xdg.dataHome}/zsh/zsh_history";
|
||||
save = 10000;
|
||||
};
|
||||
historySubstringSearch.enable = true;
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
"z"
|
||||
"git"
|
||||
"vi-mode"
|
||||
"thefuck"
|
||||
];
|
||||
theme = "bira"; # TODO: figure out how to source custom theme
|
||||
# other cool themes:
|
||||
# duellj
|
||||
# simonoff
|
||||
# strug
|
||||
# bira
|
||||
};
|
||||
sessionVariables = {
|
||||
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
package = pkgs.runCommandLocal "no-kitty" {} "mkdir $out";
|
||||
# use kitty provided by your distro's package manager
|
||||
# can cause weird behaviour if anyhting depends on this package
|
||||
font.name = "FiraCode Nerd Font Mono";
|
||||
# font.package = pkgs.maple-mono-NF;
|
||||
font.package = pkgs.nerdfonts.override {fonts = ["FiraCode"];};
|
||||
font.size = 12.0;
|
||||
shellIntegration.enableZshIntegration = true;
|
||||
theme = "Rosé Pine Moon";
|
||||
settings = {
|
||||
cursor = "none";
|
||||
cursor_shape = "block";
|
||||
cursor_blink_interval = 0;
|
||||
shell = "zsh";
|
||||
shell_integration = "no-cursor";
|
||||
background_opacity = "0.9";
|
||||
tab_bar_style = "powerline";
|
||||
tab_separator = " |";
|
||||
tab_powerline_style = "slanted";
|
||||
enable_audio_bell = "no";
|
||||
# allow_remote_control = "password";
|
||||
update_check_interval = 0;
|
||||
linux_display_server = "wayland";
|
||||
};
|
||||
shellAliases = {
|
||||
ls = "eza";
|
||||
keybindings = {
|
||||
"kitty_mod+b" = "select_tab";
|
||||
};
|
||||
};
|
||||
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
enableVteIntegration = true;
|
||||
bashrcExtra = ''
|
||||
|
||||
if [ -d "$HOME/.local/bin" ] ; then
|
||||
PATH="$HOME/.local/bin:$PATH"
|
||||
fi
|
||||
|
||||
''; # this should be changed to use home.sessionVariables
|
||||
|
||||
profileExtra = ''
|
||||
|
||||
eval "$(ssh-agent -s)"
|
||||
ssh-add ~/.ssh/git_school
|
||||
ssh-add ~/.ssh/git_personal
|
||||
ssh-add ~/.ssh/id_ed25519
|
||||
|
||||
'';
|
||||
};
|
||||
|
||||
# programs.kitty = {
|
||||
# enable = true;
|
||||
# };
|
||||
|
||||
# gtk = {
|
||||
# enable = true;
|
||||
# theme.package = pkgs.adw-gtk3;
|
||||
|
|
5
programs/default.nix
Normal file
5
programs/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./kitty.nix
|
||||
];
|
||||
}
|
34
programs/kitty.nix
Normal file
34
programs/kitty.nix
Normal file
|
@ -0,0 +1,34 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
package = pkgs.runCommandLocal "no-kitty" {} "mkdir $out";
|
||||
# use kitty provided by your distro's package manager
|
||||
# can cause weird behaviour if anyhting depends on this package
|
||||
font.name = "FiraCode Nerd Font Mono";
|
||||
# font.package = pkgs.maple-mono-NF;
|
||||
font.package = pkgs.nerdfonts.override {fonts = ["FiraCode"];};
|
||||
font.size = 12.0;
|
||||
shellIntegration.enableZshIntegration = true;
|
||||
theme = "Rosé Pine Moon";
|
||||
settings = {
|
||||
cursor = "none";
|
||||
cursor_shape = "block";
|
||||
cursor_blink_interval = 0;
|
||||
shell = "zsh";
|
||||
shell_integration = "no-cursor";
|
||||
background_opacity = "0.9";
|
||||
tab_bar_style = "powerline";
|
||||
tab_separator = " |";
|
||||
tab_powerline_style = "slanted";
|
||||
enable_audio_bell = "no";
|
||||
# allow_remote_control = "password";
|
||||
update_check_interval = 0;
|
||||
linux_display_server = "wayland";
|
||||
};
|
||||
keybindings = {
|
||||
"kitty_mod+b" = "select_tab";
|
||||
};
|
||||
};
|
||||
}
|
24
shell/bash.nix
Normal file
24
shell/bash.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
programs.bash = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
enableVteIntegration = true;
|
||||
bashrcExtra = ''
|
||||
|
||||
if [ -d "$HOME/.local/bin" ] ; then
|
||||
PATH="$HOME/.local/bin:$PATH"
|
||||
fi
|
||||
|
||||
''; # this should be changed to use home.sessionVariables
|
||||
|
||||
profileExtra = ''
|
||||
|
||||
eval "$(ssh-agent -s)"
|
||||
ssh-add ~/.ssh/git_school
|
||||
ssh-add ~/.ssh/git_personal
|
||||
ssh-add ~/.ssh/id_ed25519
|
||||
|
||||
'';
|
||||
};
|
||||
}
|
8
shell/default.nix
Normal file
8
shell/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
|
||||
imports = [
|
||||
./zsh.nix
|
||||
./bash.nix
|
||||
];
|
||||
|
||||
}
|
44
shell/zsh.nix
Normal file
44
shell/zsh.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableAutosuggestions = true;
|
||||
enableCompletion = true;
|
||||
enableVteIntegration = true;
|
||||
cdpath = [
|
||||
"/mnt/nixos/etc/nixos/"
|
||||
"/mnt/stuff/school/"
|
||||
];
|
||||
defaultKeymap = null; # was "vicmd"
|
||||
dotDir = ".config/zsh";
|
||||
history = {
|
||||
ignoreSpace = true;
|
||||
path = "${config.xdg.dataHome}/zsh/zsh_history";
|
||||
save = 10000;
|
||||
};
|
||||
historySubstringSearch.enable = true;
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
"z"
|
||||
"git"
|
||||
"vi-mode"
|
||||
"thefuck"
|
||||
];
|
||||
theme = "bira"; # TODO: figure out how to source custom theme
|
||||
# other cool themes:
|
||||
# duellj
|
||||
# simonoff
|
||||
# strug
|
||||
# bira
|
||||
};
|
||||
sessionVariables = {
|
||||
|
||||
};
|
||||
shellAliases = {
|
||||
ls = "eza";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
Loading…
Reference in a new issue