some updates

This commit is contained in:
gwg313 2025-03-20 13:33:50 -04:00
parent e9adb6d552
commit 9f06dd6c2c
Signed by: gwg313
GPG key ID: 60FF63B4826B7400
22 changed files with 675 additions and 347 deletions

View file

@ -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";
}; };
} }

View file

@ -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
]; ];

View file

@ -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 = {

View file

@ -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";

View file

@ -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

File diff suppressed because it is too large Load diff

View file

@ -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";

View file

@ -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;

View file

@ -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;

View file

@ -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"
];
}; };
} }

View 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"
];
};
}

View file

@ -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'';
}; };
}; };

View file

@ -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";
}; };

View file

@ -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
];
}; };
}; };
} }

View file

@ -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;

View file

@ -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";
};
}; };
}; };
} }

View file

@ -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";
}; };
}; };
}; };

View 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>
'';
}

View file

@ -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
} }

View 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
];
};
}

View file

@ -0,0 +1,10 @@
{
pkgs,
config,
inputs,
...
}:
{
home.packages = with pkgs; [ inputs.zen-browser.packages."${system}".default ];
}

View file

@ -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
''; '';
}; };