Merge branch 'master' of github.com:JakeGinesin/nix-dots

This commit is contained in:
2025-09-28 03:36:39 -04:00
13 changed files with 137 additions and 8 deletions

View File

@@ -32,10 +32,10 @@ Some subtleties about my setup:
- my firefox setup is decked out with all my preferred addons, css, and settings [declared](https://github.com/JakeGinesin/nix-dots/blob/master/home/programs/firefox/default.nix). i also have a nice startpage [declared](https://github.com/JakeGinesin/nix-dots/tree/master/home/programs/firefox/startpage) - my firefox setup is decked out with all my preferred addons, css, and settings [declared](https://github.com/JakeGinesin/nix-dots/blob/master/home/programs/firefox/default.nix). i also have a nice startpage [declared](https://github.com/JakeGinesin/nix-dots/tree/master/home/programs/firefox/startpage)
- i use dnsmasq as opposed to systemd-resolved to manage local dns. I configured nmcli to automatically set dnsmasq to resolve dns queries to [certain websites](https://github.com/JakeGinesin/nix-dots/blob/master/system/networking/blockers.sh) (i.e. instagram.com) to 0.0.0.0 if i'm connected to certain wifi ESSID's (i.e. my university's wifi, "NUWave") - i use dnsmasq as opposed to systemd-resolved to manage local dns. I configured nmcli to automatically set dnsmasq to resolve dns queries to [certain websites](https://github.com/JakeGinesin/nix-dots/blob/master/system/networking/blockers.sh) (i.e. instagram.com) to 0.0.0.0 if i'm connected to certain wifi ESSID's (i.e. my university's wifi, "NUWave")
- both neovim+emacs used - both neovim+emacs used
- my many helpful [scripts](https://github.com/JakeGinesin/nix-dots/tree/master/home/scripts) are autopackaged using writeScriptBin
- custom font ttfs for polybar are [directly included](https://github.com/JakeGinesin/nix-dots/blob/master/home/fonts/default.nix) in my config because certain icons are no longer supported - custom font ttfs for polybar are [directly included](https://github.com/JakeGinesin/nix-dots/blob/master/home/fonts/default.nix) in my config because certain icons are no longer supported
- i have a stacked [rebuild script](https://github.com/JakeGinesin/nix-dots/blob/master/home/scripts/rebuild.sh) - i have a stacked [rebuild script](https://github.com/JakeGinesin/nix-dots/blob/master/home/scripts/rebuild.sh)
- my zsh is [stacked](https://github.com/JakeGinesin/nix-dots/blob/master/home/programs/zsh/default.nix) with many nice [aliases](https://github.com/JakeGinesin/nix-dots/blob/master/home/programs/zsh/zshrc) for automation. secret aliases with hard-coded IPs whatever are stored under an agenix secret - my zsh is [stacked](https://github.com/JakeGinesin/nix-dots/blob/master/home/programs/zsh/default.nix) with many nice [aliases](https://github.com/JakeGinesin/nix-dots/blob/master/home/programs/zsh/zshrc) for automation. secret aliases with hard-coded IPs whatever are stored under an agenix secret
- bspwm on x is used, with sxhkd used for most hotkeys - bspwm on x is used, with sxhkd used for most hotkeys
- papers automatically saved with zotero are [automatically searchable](https://github.com/JakeGinesin/nix-dots/tree/master/home/scripts/document-scripts) - papers automatically saved with zotero are [automatically searchable](https://github.com/JakeGinesin/nix-dots/tree/master/home/scripts/document-scripts)
- there is an option for resolution in the [configuration.nix file](https://github.com/JakeGinesin/nix-dots/tree/master/hosts/rq) - there is an option for resolution in the [configuration.nix file](https://github.com/JakeGinesin/nix-dots/tree/master/hosts/rq)
- my [scripts](https://github.com/JakeGinesin/nix-dots/tree/master/home/scripts) are autopackaged using writeScriptBin

View File

@@ -115,6 +115,11 @@ in {
ripgrep-all ripgrep-all
element-desktop element-desktop
rustup # for verus rip rustup # for verus rip
python313Packages.ipython
sage
yq
semgrep
# texlive.combined.scheme-full
# security # security
aflplusplus aflplusplus

View File

@@ -25,6 +25,8 @@ bspc config window_gap 2
bspc config split_ratio 0.50 bspc config split_ratio 0.50
bspc config borderless_monocle true bspc config borderless_monocle true
bspc config gapless_monocle true bspc config gapless_monocle true
bspc config remove_disabled_monitors true
bspc config merge_overlapping_monitors true
# bspc config merge_overlapping_monitors true # bspc config merge_overlapping_monitors true
bspc rule -a Zathura state=tiled bspc rule -a Zathura state=tiled
bspc rule -a "Zotero" -o desktop="19" focus=off bspc rule -a "Zotero" -o desktop="19" focus=off

View File

@@ -105,6 +105,10 @@ in {
name = "nix options"; name = "nix options";
url = "https://search.nixos.org/options"; url = "https://search.nixos.org/options";
} }
{
name = "old packages";
url = "https://lazamar.co.uk/nix-versions/";
}
]; ];
} }
{ {
@@ -177,11 +181,39 @@ in {
} }
]; ];
} }
{
name = "verus";
bookmarks = [
{
name = "verus playground";
url = "https://play.verus-lang.org/?version=stable&mode=basic&edition=2021";
}
{
name = "verus docs";
url = "https://verus-lang.github.io/verus/guide/verus_macro_intro.html";
}
{
name = "verus zulip";
url = "https://verus-lang.zulipchat.com/#feed";
}
{
name = "vstd docs";
url = "https://verus-lang.github.io/verus/verusdoc/vstd/index.html";
}
{
name = "core docs";
url = "https://doc.rust-lang.org/1.88.0/core/index.html";
}
{
name = "verus github";
url = "https://github.com/verus-lang/verus";
}
];
}
{ {
name = "cal"; name = "cal";
url = "https://calendar.google.com/"; url = "https://calendar.google.com/";
} }
{ {
name = "performance"; name = "performance";
url = "about:processes"; url = "about:processes";

View File

@@ -41,9 +41,9 @@
<div class="category"> <div class="category">
<h2>Uni</h2> <h2>Uni</h2>
<ul> <ul>
<li><a href="https://www.husker.nu/">Husker</a></li> <li><a href="https://cmueats.com//">CMU Eats</a></li>
<li><a href="https://northeastern.instructure.com/">Canvas</a></li> <li><a href="https://cmucourses.com/">CMU Courses</a></li>
<li><a href="https://student.me.northeastern.edu/">Hub</a></li> <li><a href="https://s3.andrew.cmu.edu/sio">SIO</a></li>
</ul> </ul>
</div> </div>
@@ -54,6 +54,7 @@
<li><a href="https://lobste.rs/">lobste.rs</a></li> <li><a href="https://lobste.rs/">lobste.rs</a></li>
<li><a href="https://news.ycombinator.com/">Hackernews</a></li> <li><a href="https://news.ycombinator.com/">Hackernews</a></li>
<li><a href="https://codeforces.com/problemset">Codeforces</a></li> <li><a href="https://codeforces.com/problemset">Codeforces</a></li>
<li><a href="https://www.cve.org/CVERecord/SearchResults?query=cryptography">CVEs</a></li>
</ul> </ul>
</div> </div>

View File

@@ -13,7 +13,7 @@ vim.g.vimtex_quickfix_mode = 0
vim.g.vimtex_quickfix_enabled = 0 vim.g.vimtex_quickfix_enabled = 0
-- Compiler backend. -- Compiler backend.
vim.g.vimtex_compiler_method = 'latexrun' vim.g.vimtex_compiler_method = 'latexmk'
-- Set the local leader (default is "\"; here we change it to comma). -- Set the local leader (default is "\"; here we change it to comma).
vim.g.maplocalleader = ',' vim.g.maplocalleader = ','

View File

@@ -68,7 +68,7 @@ super + {t,shift + t,s,a}
# focus the node in the given direction # focus the node in the given direction
super + {_,shift + }{j,k,i,l} super + {_,shift + }{j,k,i,l}
bspc node -{f,s} {west,south,north,east} bspc node -{f,s} {west,south,north,east}.local
# focus the node for the given path jump # focus the node for the given path jump
# super + {p,b,comma,period} # super + {p,b,comma,period}
@@ -165,7 +165,10 @@ ctrl + super + {Left,Right}
fast-shift {left,right} fast-shift {left,right}
super + {shift} + {d} super + {shift} + {d}
pkill -f discord pkill -f legcord
super + {shift} + {h}
pkill -f slack
ctrl + super + bracket{left,right} ctrl + super + bracket{left,right}
fast-shift {left,right} fast-shift {left,right}

View File

@@ -254,6 +254,10 @@ a.sitecopy() {
wget -k -K -E -r -l 10 -p -N -F -nH $@ wget -k -K -E -r -l 10 -p -N -F -nH $@
} }
a.pdfcopy() {
wget -k -r -l 10 -p -A "*.pdf" -N -F -nH $@
}
a.fo() { a.fo() {
firefox `pwd` firefox `pwd`
} }

View File

@@ -0,0 +1,25 @@
PRIMARY="$(xrandr --query | awk '/ connected primary/{print $1; exit}')"
[ -z "$PRIMARY" ] && PRIMARY="$(xrandr --query | awk '/ connected/{print $1; exit}')"
bspc monitor "$PRIMARY" -d 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
if [[ $(xrandr -q | grep 'HDMI-1 connected') ]]; then
xrandr --output "$PRIMARY" --primary --auto --scale 1x1 --rotate normal --output HDMI-1 --mode 1920x1080 --rotate normal --right-of "$PRIMARY"
bspc monitor "$PRIMARY" -d 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
bspc monitor HDMI-1 -d 20
xinput map-to-output "TPPS/2 Elan TrackPoint" "eDP-1"
xinput map-to-output "Synaptics TM3289-002" "eDP-1"
else
xrandr --output HDMI-1 --off
# Remove nodes
while bspc node 20: --kill; do
:
done
# Remove workspaces
bspc desktop -r 20
# Remove monitor
bspc monitor HDMI-1 -r
bspc monitor "$PRIMARY" -d 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20
xinput map-to-output "TPPS/2 Elan TrackPoint" "all"
xinput map-to-output "Synaptics TM3289-002" "all"
fi

View File

@@ -0,0 +1,25 @@
PRIMARY="$(xrandr --query | awk '/ connected primary/{print $1; exit}')"
[ -z "$PRIMARY" ] && PRIMARY="$(xrandr --query | awk '/ connected/{print $1; exit}')"
bspc monitor "$PRIMARY" -d 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
if [[ $(xrandr -q | grep 'HDMI-1 connected') ]]; then
xrandr --output "$PRIMARY" --primary --auto --scale 1x1 --rotate normal --output HDMI-1 --mode 3840x2160 --rotate normal --right-of "$PRIMARY"
bspc monitor "$PRIMARY" -d 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
bspc monitor HDMI-1 -d 20
xinput map-to-output "TPPS/2 Elan TrackPoint" "eDP-1"
xinput map-to-output "Synaptics TM3289-002" "eDP-1"
else
xrandr --output HDMI-1 --off
# Remove nodes
while bspc node 20: --kill; do
:
done
# Remove workspaces
bspc desktop -r 20
# Remove monitor
bspc monitor HDMI-1 -r
bspc monitor "$PRIMARY" -d 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
xinput map-to-output "TPPS/2 Elan TrackPoint" "all"
xinput map-to-output "Synaptics TM3289-002" "all"
fi

View File

@@ -0,0 +1,25 @@
PRIMARY="$(xrandr --query | awk '/ connected primary/{print $1; exit}')"
[ -z "$PRIMARY" ] && PRIMARY="$(xrandr --query | awk '/ connected/{print $1; exit}')"
bspc monitor "$PRIMARY" -d 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
if [[ $(xrandr -q | grep 'DP-2 connected') ]]; then
xrandr --output "$PRIMARY" --primary --auto --scale 1x1 --rotate normal --output DP-2 --mode 3840x2160 --rotate normal --right-of "$PRIMARY"
bspc monitor "$PRIMARY" -d 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
bspc monitor DP-2 -d 20
xinput map-to-output "TPPS/2 Elan TrackPoint" "eDP-1"
xinput map-to-output "Synaptics TM3289-002" "eDP-1"
else
xrandr --output DP-2 --off
# Remove nodes
while bspc node 20: --kill; do
:
done
# Remove workspaces
bspc desktop -r 20
# Remove monitor
bspc monitor DP-2 -r
bspc monitor "$PRIMARY" -d 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
xinput map-to-output "TPPS/2 Elan TrackPoint" "all"
xinput map-to-output "Synaptics TM3289-002" "all"
fi

View File

@@ -128,6 +128,12 @@
}; };
}; };
boot.extraModulePackages = with config.boot.kernelPackages; [
rtl88xxau-aircrack
];
boot.kernelModules = ["rtl8812au"];
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave # on your system were taken. Its perfectly fine and recommended to leave

View File

@@ -73,6 +73,7 @@ in {
polybar polybar
sxhkd sxhkd
bspwm bspwm
# linuxKernel.packages.linux_zen.rtl8812au
# librewolf # librewolf
]; ];
} }