some updates
This commit is contained in:
parent
e9adb6d552
commit
9f06dd6c2c
22 changed files with 675 additions and 347 deletions
|
|
@ -10,7 +10,7 @@
|
||||||
./pipewire.nix
|
./pipewire.nix
|
||||||
./wayland.nix
|
./wayland.nix
|
||||||
./displayManager.nix
|
./displayManager.nix
|
||||||
./xdg.nix
|
# ./xdg.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
# Security
|
# Security
|
||||||
|
|
@ -76,9 +76,12 @@
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
libva-utils
|
libva-utils
|
||||||
gsettings-desktop-schemas
|
gsettings-desktop-schemas
|
||||||
|
xdg-utils
|
||||||
|
hyprland-qtutils
|
||||||
];
|
];
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
XDG_CURRENT_DESKTOP = "Hyprland";
|
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||||
XDG_SESSION_DESKTOP = "Hyprland";
|
XDG_SESSION_DESKTOP = "Hyprland";
|
||||||
|
XDG_SESSION_TYPE = "wayland";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
options = {
|
options = {
|
||||||
thunar.enable = lib.mkEnableOption "Enables thunar and its plugins";
|
thunar.enable = lib.mkEnableOption "Enables thunar and its plugins";
|
||||||
};
|
};
|
||||||
|
|
@ -11,6 +12,8 @@
|
||||||
programs.thunar = {
|
programs.thunar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = with pkgs.xfce; [
|
plugins = with pkgs.xfce; [
|
||||||
|
xfconf
|
||||||
|
tumbler
|
||||||
thunar-archive-plugin
|
thunar-archive-plugin
|
||||||
thunar-volman
|
thunar-volman
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -3,14 +3,20 @@
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
# XDG Portals
|
# XDG Portals
|
||||||
xdg = {
|
xdg = {
|
||||||
autostart.enable = true;
|
autostart.enable = true;
|
||||||
portal = {
|
portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
wlr.enable = true;
|
||||||
|
xdgOpenUsePortal = true;
|
||||||
extraPortals = [
|
extraPortals = [
|
||||||
|
pkgs.xdg-desktop-portal-hyprland
|
||||||
pkgs.xdg-desktop-portal-gtk
|
pkgs.xdg-desktop-portal-gtk
|
||||||
|
pkgs.libsForQt5.xdg-desktop-portal-kde
|
||||||
|
pkgs.lxqt.xdg-desktop-portal-lxqt
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -18,6 +24,7 @@
|
||||||
xdg-utils
|
xdg-utils
|
||||||
xdg-desktop-portal
|
xdg-desktop-portal
|
||||||
xdg-desktop-portal-gtk
|
xdg-desktop-portal-gtk
|
||||||
|
xdg-desktop-portal-hyprland
|
||||||
];
|
];
|
||||||
|
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
nh
|
nh
|
||||||
nix-output-monitor
|
nix-output-monitor
|
||||||
nvd
|
nvd
|
||||||
inputs.superfile.packages.${system}.default
|
# inputs.superfile.packages.${system}.default
|
||||||
];
|
];
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
FLAKE = "/home/${user}/repos/nixos-config";
|
FLAKE = "/home/${user}/repos/nixos-config";
|
||||||
|
|
|
||||||
|
|
@ -20,8 +20,8 @@
|
||||||
"audio"
|
"audio"
|
||||||
"wireshark"
|
"wireshark"
|
||||||
];
|
];
|
||||||
# shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
shell = pkgs.nushell;
|
# shell = pkgs.nushell;
|
||||||
uid = 1000;
|
uid = 1000;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
738
flake.lock
generated
738
flake.lock
generated
File diff suppressed because it is too large
Load diff
|
|
@ -31,7 +31,8 @@
|
||||||
# Don't follow nixpkgs or cache will miss
|
# Don't follow nixpkgs or cache will miss
|
||||||
# inputs.nixpkgs.follows = "nixpkgs";
|
# inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
zen-browser.url = "git+https://git.sr.ht/~canasta/zen-browser-flake/";
|
||||||
|
nixcord.url = "github:kaylorben/nixcord";
|
||||||
devenv = {
|
devenv = {
|
||||||
url = "github:cachix/devenv/main";
|
url = "github:cachix/devenv/main";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,9 @@
|
||||||
./kitty.nix
|
./kitty.nix
|
||||||
./ghostty.nix
|
./ghostty.nix
|
||||||
./obs.nix
|
./obs.nix
|
||||||
|
./thunar.nix
|
||||||
|
./zen.nix
|
||||||
|
./xdg.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
./tmux/tmux.nix
|
./tmux/tmux.nix
|
||||||
./zoxide.nix
|
./zoxide.nix
|
||||||
./zsh.nix
|
./zsh.nix
|
||||||
|
./fzf.nix
|
||||||
./nushell/default.nix
|
./nushell/default.nix
|
||||||
];
|
];
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,16 @@
|
||||||
# A modern replacement for 'ls'.
|
# A modern replacement for 'ls'.
|
||||||
{...}: {
|
{ ... }:
|
||||||
|
{
|
||||||
programs.eza = {
|
programs.eza = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
git = true;
|
git = true;
|
||||||
icons = "auto";
|
icons = "auto";
|
||||||
|
extraOptions = [
|
||||||
|
"--group-directories-first"
|
||||||
|
"--no-quotes"
|
||||||
|
"--git-ignore"
|
||||||
|
"--icons=always"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
31
home-manager/modules/fzf.nix
Normal file
31
home-manager/modules/fzf.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
# Fzf is a general-purpose command-line fuzzy finder.
|
||||||
|
{ config, lib, ... }:
|
||||||
|
let
|
||||||
|
accent = "#" + config.lib.stylix.colors.base0D;
|
||||||
|
foreground = "#" + config.lib.stylix.colors.base05;
|
||||||
|
muted = "#" + config.lib.stylix.colors.base03;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.fzf = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
colors = lib.mkForce {
|
||||||
|
"fg+" = accent;
|
||||||
|
"bg+" = "-1";
|
||||||
|
"fg" = foreground;
|
||||||
|
"bg" = "-1";
|
||||||
|
"prompt" = muted;
|
||||||
|
"pointer" = accent;
|
||||||
|
};
|
||||||
|
defaultOptions = [
|
||||||
|
"--margin=1"
|
||||||
|
"--layout=reverse"
|
||||||
|
"--border=rounded"
|
||||||
|
"--info='hidden'"
|
||||||
|
"--header=''"
|
||||||
|
"--prompt='/ '"
|
||||||
|
"-i"
|
||||||
|
"--no-bold"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -4,11 +4,13 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
user,
|
user,
|
||||||
...
|
...
|
||||||
}: {
|
}:
|
||||||
|
{
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
userName = "gwg313";
|
userName = "gwg313";
|
||||||
userEmail = "gwg313@pm.me";
|
userEmail = "gwg313@pm.me";
|
||||||
|
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
user = {
|
user = {
|
||||||
signingkey = "60FF63B4826B7400";
|
signingkey = "60FF63B4826B7400";
|
||||||
|
|
@ -55,13 +57,23 @@
|
||||||
pull = {
|
pull = {
|
||||||
rebase = false;
|
rebase = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
color.ui = "1";
|
||||||
};
|
};
|
||||||
ignores = [
|
ignores = [
|
||||||
"__pycache__"
|
"__pycache__"
|
||||||
".direnv"
|
".direnv"
|
||||||
# Node
|
|
||||||
"npm-debug.log"
|
"npm-debug.log"
|
||||||
|
".cache/"
|
||||||
|
".DS_Store"
|
||||||
|
".idea/"
|
||||||
"*.swp"
|
"*.swp"
|
||||||
|
"*.elc"
|
||||||
|
"auto-save-list"
|
||||||
|
".direnv/"
|
||||||
|
"node_modules"
|
||||||
|
"result"
|
||||||
|
"result-*"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -69,6 +81,8 @@
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
trackme = "git branch --set-upstream-to=origin/$(git symbolic-ref --short HEAD)";
|
trackme = "git branch --set-upstream-to=origin/$(git symbolic-ref --short HEAD)";
|
||||||
rebasemain = "git pull origin main --rebase";
|
rebasemain = "git pull origin main --rebase";
|
||||||
|
hist = ''log --pretty=format:"%Cgreen%h %Creset%cd %Cblue[%cn] %Creset%s%C(yellow)%d%C(reset)" --graph --date=relative --decorate --all'';
|
||||||
|
llog = ''log --graph --name-status --pretty=format:"%C(red)%h %C(reset)(%cd) %C(green)%an %Creset%s %C(yellow)%d%Creset" --date=relative'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ in
|
||||||
./animations.nix
|
./animations.nix
|
||||||
./bindings.nix
|
./bindings.nix
|
||||||
./polkitagent.nix
|
./polkitagent.nix
|
||||||
# ./hyprspace.nix
|
./hyprspace.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
|
@ -100,7 +100,7 @@ in
|
||||||
gaps_in = gaps-in;
|
gaps_in = gaps-in;
|
||||||
gaps_out = gaps-out;
|
gaps_out = gaps-out;
|
||||||
border_size = border-size;
|
border_size = border-size;
|
||||||
border_part_of_window = true;
|
# border_part_of_window = true;
|
||||||
# layout = "master";
|
# layout = "master";
|
||||||
layout = "dwindle";
|
layout = "dwindle";
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
{ inputs, pkgs, ... }:
|
{ inputs, pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
plugins = [ inputs.hyprspace.packages.${pkgs.system}.Hyprspace ];
|
plugins = [ inputs.hyprspace.packages.${pkgs.system}.Hyprspace ];
|
||||||
settings = {
|
settings = {
|
||||||
|
|
@ -9,11 +8,6 @@
|
||||||
autoDrag = false;
|
autoDrag = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
bind = [
|
|
||||||
"$mod,S, overview:toggle" # Overview
|
|
||||||
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,22 @@
|
||||||
{
|
{
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
scrollback_lines = 10000;
|
||||||
|
initial_window_width = 1200;
|
||||||
|
initial_window_height = 600;
|
||||||
|
update_check_interval = 0;
|
||||||
|
enable_audio_bell = false;
|
||||||
|
confirm_os_window_close = "0";
|
||||||
|
remember_window_size = "no";
|
||||||
|
disable_ligatures = "never";
|
||||||
|
url_style = "curly";
|
||||||
|
cursor_shape = "Underline";
|
||||||
|
cursor_underline_thickness = 3;
|
||||||
|
cursor_trail = 3;
|
||||||
|
cursor_trail_decay = "0.1 0.4";
|
||||||
|
window_padding_width = 10;
|
||||||
|
};
|
||||||
font = {
|
font = {
|
||||||
# name = lib.mkForce "Comic Code";
|
# name = lib.mkForce "Comic Code";
|
||||||
size = lib.mkForce 16;
|
size = lib.mkForce 16;
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,28 @@
|
||||||
# A terminal-based Git interface.
|
{ config, lib, ... }:
|
||||||
{ ... }:
|
let
|
||||||
|
accent = "#${config.lib.stylix.colors.base0D}";
|
||||||
|
muted = "#${config.lib.stylix.colors.base03}";
|
||||||
|
in
|
||||||
{
|
{
|
||||||
programs.lazygit = {
|
programs.lazygit = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = lib.mkForce {
|
||||||
|
|
||||||
git.overrideGpg = true;
|
git.overrideGpg = true;
|
||||||
|
gui = {
|
||||||
|
theme = {
|
||||||
|
activeBorderColor = [
|
||||||
|
accent
|
||||||
|
"bold"
|
||||||
|
];
|
||||||
|
inactiveBorderColor = [ muted ];
|
||||||
|
};
|
||||||
|
showListFooter = false;
|
||||||
|
showRandomTip = false;
|
||||||
|
showCommandLog = false;
|
||||||
|
showBottomLine = false;
|
||||||
|
nerdFontsVersion = "3";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,51 @@
|
||||||
# A customizable prompt for shells.
|
# A customizable prompt for shells.
|
||||||
{ ... }:
|
{ config, lib, ... }:
|
||||||
|
let
|
||||||
|
accent = "#${config.lib.stylix.colors.base0D}";
|
||||||
|
background-alt = "#${config.lib.stylix.colors.base01}";
|
||||||
|
in
|
||||||
{
|
{
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
enableNushellIntegration = true;
|
|
||||||
settings = {
|
settings = {
|
||||||
add_newline = true;
|
add_newline = true;
|
||||||
character = {
|
format = lib.concatStrings [
|
||||||
success_symbol = "➜";
|
"$hostname"
|
||||||
error_symbol = "➜";
|
"$directory"
|
||||||
|
"$git_branch"
|
||||||
|
"$git_state"
|
||||||
|
"$git_status"
|
||||||
|
"$character"
|
||||||
|
];
|
||||||
|
directory = {
|
||||||
|
style = accent;
|
||||||
};
|
};
|
||||||
aws = {
|
|
||||||
disabled = true;
|
character = {
|
||||||
|
success_symbol = "[❯](${accent})";
|
||||||
|
error_symbol = "[❯](red)";
|
||||||
|
vimcmd_symbol = "[❮](cyan)";
|
||||||
|
};
|
||||||
|
|
||||||
|
git_branch = {
|
||||||
|
symbol = "[](${background-alt}) ";
|
||||||
|
style = "fg:${accent} bg:${background-alt}";
|
||||||
|
format = "on [$symbol$branch]($style)[](${background-alt}) ";
|
||||||
|
};
|
||||||
|
|
||||||
|
git_status = {
|
||||||
|
format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218)($ahead_behind$stashed)]($style)";
|
||||||
|
style = "cyan";
|
||||||
|
conflicted = "";
|
||||||
|
renamed = "";
|
||||||
|
deleted = "";
|
||||||
|
stashed = "≡";
|
||||||
|
};
|
||||||
|
|
||||||
|
git_state = {
|
||||||
|
format = "([$state( $progress_current/$progress_total)]($style)) ";
|
||||||
|
style = "bright-black";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
48
home-manager/modules/thunar.nix
Normal file
48
home-manager/modules/thunar.nix
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
# Thunar is a file explorer
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
# ctrl + m to toggle the menubar
|
||||||
|
home.packages = with pkgs.xfce; [
|
||||||
|
thunar
|
||||||
|
xfconf
|
||||||
|
tumbler
|
||||||
|
thunar-archive-plugin
|
||||||
|
thunar-volman
|
||||||
|
];
|
||||||
|
|
||||||
|
home.file.".config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml".text = ''
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<channel name="thunar" version="1.0">
|
||||||
|
<property name="last-view" type="string" value="ThunarIconView"/>
|
||||||
|
<property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_100_PERCENT"/>
|
||||||
|
<property name="last-window-maximized" type="bool" value="true"/>
|
||||||
|
<property name="last-separator-position" type="int" value="170"/>
|
||||||
|
<property name="last-statusbar-visible" type="bool" value="false"/>
|
||||||
|
<property name="last-menubar-visible" type="bool" value="false"/>
|
||||||
|
<property name="misc-single-click" type="bool" value="false"/>
|
||||||
|
<property name="shortcuts-icon-emblems" type="bool" value="true"/>
|
||||||
|
<property name="tree-icon-emblems" type="bool" value="true"/>
|
||||||
|
<property name="misc-file-size-binary" type="bool" value="true"/>
|
||||||
|
<property name="misc-thumbnail-draw-frames" type="bool" value="false"/>
|
||||||
|
<property name="misc-text-beside-icons" type="bool" value="true"/>
|
||||||
|
<property name="misc-change-window-icon" type="bool" value="true"/>
|
||||||
|
<property name="hidden-bookmarks" type="array">
|
||||||
|
<value type="string" value="computer:///"/>
|
||||||
|
<value type="string" value="recent:///"/>
|
||||||
|
<value type="string" value="file:///"/>
|
||||||
|
<value type="string" value="network:///"/>
|
||||||
|
</property>
|
||||||
|
<property name="hidden-devices" type="array">
|
||||||
|
<value type="string" value="52FEA905FEA8E309"/>
|
||||||
|
</property>
|
||||||
|
<property name="last-toolbar-item-order" type="string" value="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17"/>
|
||||||
|
<property name="last-toolbar-visible-buttons" type="string" value="0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0"/>
|
||||||
|
<property name="last-location-bar" type="string" value="ThunarLocationButtons"/>
|
||||||
|
<property name="last-show-hidden" type="bool" value="false"/>
|
||||||
|
<property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/>
|
||||||
|
<property name="last-details-view-column-widths" type="string" value="50,50,127,50,50,50,50,50,751,50,50,75,50,145"/>
|
||||||
|
<property name="last-toolbar-items" type="string" value="menu:1,back:1,forward:0,open-parent:0,open-home:0,undo:0,redo:0,zoom-in:0,zoom-out:0,zoom-reset:0,view-as-icons:0,view-as-detailed-list:0,view-as-compact-list:0,toggle-split-view:0,location-bar:1,reload:0,search:1,uca-action-1710183590071525-1:0,new-tab:0,new-window:0,view-switcher:0"/>
|
||||||
|
</channel>
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
@ -171,7 +171,7 @@
|
||||||
exec </dev/tty
|
exec </dev/tty
|
||||||
exec <&1
|
exec <&1
|
||||||
local session
|
local session
|
||||||
session=$(sesh list -t -c | fzf --height 40% --reverse --border-label ' sesh ' --border --prompt '⚡ ')
|
session=$(sesh list -t -c | fzf --height 70% --reverse --border-label ' sesh ' --border --prompt '⚡ ')
|
||||||
[[ -z "$session" ]] && return
|
[[ -z "$session" ]] && return
|
||||||
sesh connect $session
|
sesh connect $session
|
||||||
}
|
}
|
||||||
|
|
|
||||||
13
home-manager/modules/xdg.nix
Normal file
13
home-manager/modules/xdg.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
extraPortals = with pkgs; [
|
||||||
|
# xdg-desktop-portal-hyprland
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
libsForQt5.xdg-desktop-portal-kde
|
||||||
|
lxqt.xdg-desktop-portal-lxqt
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
10
home-manager/modules/zen.nix
Normal file
10
home-manager/modules/zen.nix
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
|
||||||
|
home.packages = with pkgs; [ inputs.zen-browser.packages."${system}".default ];
|
||||||
|
}
|
||||||
|
|
@ -8,6 +8,10 @@
|
||||||
{
|
{
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
autosuggestion.enable = true;
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
historySubstringSearch.enable = true;
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
update = "sudo nixos-rebuild switch";
|
update = "sudo nixos-rebuild switch";
|
||||||
clean = "nix-collect-garbage -d";
|
clean = "nix-collect-garbage -d";
|
||||||
|
|
@ -51,32 +55,12 @@
|
||||||
octal = "stat -c '%a %n'";
|
octal = "stat -c '%a %n'";
|
||||||
};
|
};
|
||||||
|
|
||||||
zplug = {
|
|
||||||
enable = true;
|
|
||||||
plugins = [
|
|
||||||
{ name = "zsh-users/zsh-autosuggestions"; }
|
|
||||||
{ name = "zsh-users/zsh-completions"; }
|
|
||||||
{ name = "zsh-users/zsh-syntax-highlighting"; }
|
|
||||||
{ name = "MichaelAquilina/zsh-you-should-use"; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
oh-my-zsh = {
|
|
||||||
enable = true;
|
|
||||||
plugins = [
|
|
||||||
"git"
|
|
||||||
"copyfile"
|
|
||||||
];
|
|
||||||
theme = "robbyrussell";
|
|
||||||
};
|
|
||||||
|
|
||||||
history = {
|
history = {
|
||||||
size = 10000;
|
size = 10000;
|
||||||
path = "${config.xdg.dataHome}/zsh/history";
|
path = "${config.xdg.dataHome}/zsh/history";
|
||||||
};
|
};
|
||||||
initExtra = ''
|
initExtra = ''
|
||||||
eval $(thefuck --alias)
|
eval $(thefuck --alias)
|
||||||
fastfetch
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue