Merge branch 'master' of github.com:JakeGinesin/nix-dots
This commit is contained in:
17
flake.lock
generated
17
flake.lock
generated
@@ -155,6 +155,22 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-signal": {
|
||||
"locked": {
|
||||
"lastModified": 1760284886,
|
||||
"narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "cf3f5c4def3c7b5f1fc012b3d839575dbe552d43",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "cf3f5c4def3c7b5f1fc012b3d839575dbe552d43",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1751274312,
|
||||
@@ -210,6 +226,7 @@
|
||||
"home-manager": "home-manager_2",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-clisp": "nixpkgs-clisp",
|
||||
"nixpkgs-signal": "nixpkgs-signal",
|
||||
"verus-flake": "verus-flake"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -17,6 +17,10 @@
|
||||
|
||||
nixpkgs-clisp.url = "github:NixOS/nixpkgs/da320e5472f021b96a883f71fc525ca0e4815273";
|
||||
|
||||
# pin only signal versions jake likes. recall, you must back up .config/Signal when changing this
|
||||
# this ver includes triple ratchet
|
||||
nixpkgs-signal.url = "github:NixOS/nixpkgs/cf3f5c4def3c7b5f1fc012b3d839575dbe552d43";
|
||||
|
||||
verus-flake.url = "github:JakeGinesin/verus-flake";
|
||||
};
|
||||
outputs = {
|
||||
@@ -26,6 +30,7 @@
|
||||
agenix,
|
||||
emacs-overlay,
|
||||
nixpkgs-clisp,
|
||||
nixpkgs-signal,
|
||||
verus-flake,
|
||||
} @ inputs: let
|
||||
system = "x86_64-linux";
|
||||
@@ -43,6 +48,7 @@
|
||||
emacs-overlay.overlay
|
||||
(final: _prev: {
|
||||
clisp = nixpkgs-clisp.legacyPackages.${system}.clisp;
|
||||
signal-desktop = nixpkgs-signal.legacyPackages.${system}.signal-desktop;
|
||||
})
|
||||
];
|
||||
environment.systemPackages = [
|
||||
|
||||
@@ -119,6 +119,7 @@ in {
|
||||
sage
|
||||
yq
|
||||
semgrep
|
||||
tectonic
|
||||
# texlive.combined.scheme-full
|
||||
|
||||
# security
|
||||
@@ -142,6 +143,7 @@ in {
|
||||
postman
|
||||
nuclei
|
||||
subfinder
|
||||
hcxtools
|
||||
]
|
||||
++ (
|
||||
with lib; let
|
||||
|
||||
@@ -77,7 +77,9 @@ in {
|
||||
display: none !important
|
||||
}
|
||||
'';
|
||||
bookmarks = [
|
||||
bookmarks = {
|
||||
force = true;
|
||||
settings = [
|
||||
{
|
||||
name = "Bar";
|
||||
toolbar = true;
|
||||
@@ -221,6 +223,7 @@ in {
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
settings = {
|
||||
### This is all aesthetic stuff
|
||||
# for tiling window managers expands to the size of the window
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
black
|
||||
nodejs_22
|
||||
latexrun
|
||||
tectonic
|
||||
texpresso
|
||||
# gh
|
||||
];
|
||||
|
||||
@@ -39,6 +41,18 @@
|
||||
vim-airline-themes
|
||||
plenary-nvim
|
||||
nvim-web-devicons
|
||||
{
|
||||
plugin = smear-cursor-nvim;
|
||||
config = toLuaFile ./plugins/smear.lua;
|
||||
}
|
||||
# {
|
||||
# plugin = neovide;
|
||||
# config = toLuaFile ./plugins/neovide.lua;
|
||||
# }
|
||||
# { worthless plugin don't use
|
||||
# plugin = mini-animate;
|
||||
# config = toLuaFile ./plugins/mini-animate.lua;
|
||||
# }
|
||||
{
|
||||
plugin = telescope-nvim;
|
||||
config = toLuaFile ./plugins/telescope.lua;
|
||||
|
||||
19
home/programs/nvim/plugins/mini-animate.lua
Normal file
19
home/programs/nvim/plugins/mini-animate.lua
Normal file
@@ -0,0 +1,19 @@
|
||||
-- require('mini.animate').setup()
|
||||
|
||||
-- require('mini.animate').setup({
|
||||
-- cursor = {
|
||||
-- enable = true,
|
||||
-- },
|
||||
-- scroll = {
|
||||
-- enable = false,
|
||||
-- },
|
||||
-- resize = {
|
||||
-- enable = false,
|
||||
-- },
|
||||
-- open = {
|
||||
-- enable = false,
|
||||
-- },
|
||||
-- close = {
|
||||
-- enable = false,
|
||||
-- },
|
||||
-- })
|
||||
0
home/programs/nvim/plugins/neovide.lua
Normal file
0
home/programs/nvim/plugins/neovide.lua
Normal file
10
home/programs/nvim/plugins/smear.lua
Normal file
10
home/programs/nvim/plugins/smear.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
require('smear_cursor').setup({
|
||||
scroll_buffer_space = false,
|
||||
smear_between_buffers = false,
|
||||
smear_between_neighbor_lines = false,
|
||||
stiffness = 0.5,
|
||||
trailing_stiffness = 0.5,
|
||||
matrix_pixel_threshold = 0.5,
|
||||
damping = 0.95,
|
||||
smear_insert_mode = false,
|
||||
})
|
||||
@@ -7,33 +7,45 @@ vim.g.vimtex_view_method = 'zathura'
|
||||
vim.g.vimtex_view_general_viewer = 'zathura'
|
||||
vim.g.vimtex_view_general_options = '--unique file:@pdf#src:@line@tex'
|
||||
|
||||
|
||||
-- Set the TeX flavor and quickfix mode.
|
||||
vim.g.tex_flavor = 'latex'
|
||||
vim.g.vimtex_quickfix_mode = 0
|
||||
vim.g.vimtex_quickfix_enabled = 0
|
||||
|
||||
-- Compiler backend.
|
||||
vim.g.vimtex_compiler_method = 'latexmk'
|
||||
-- vim.g.vimtex_compiler_method = 'latexmk'
|
||||
vim.g.vimtex_quickfix_autoclose_after_keystrokes = 3
|
||||
vim.g.vimtex_compiler_method = "tectonic"
|
||||
vim.g.vimtex_compiler_tectonic = {
|
||||
options = {
|
||||
"--keep-intermediates", -- faster compile times
|
||||
"--keep-logs",
|
||||
"--synctex",
|
||||
"-Z shell-escape",
|
||||
-- "-Z deterministic-mode", -- breaks synctex
|
||||
},
|
||||
}
|
||||
|
||||
-- Set the local leader (default is "\"; here we change it to comma).
|
||||
vim.g.maplocalleader = ','
|
||||
|
||||
-- Configure warnings to ignore.
|
||||
vim.g.Tex_IgnoredWarnings = [[
|
||||
Package hyperref Warning
|
||||
Token not allowed in a PDF string (Unicode)
|
||||
removing math shift
|
||||
removing superscript
|
||||
Underfull
|
||||
Overfull
|
||||
specifier changed to
|
||||
You have requested
|
||||
Missing number, treated as zero.
|
||||
There were undefined references
|
||||
Citation %.%# undefined
|
||||
Double space found.
|
||||
]]
|
||||
vim.g.Tex_IgnoreLevel = 8
|
||||
-- vim.g.Tex_IgnoredWarnings = [[
|
||||
-- Package hyperref Warning
|
||||
-- Token not allowed in a PDF string (Unicode)
|
||||
-- removing math shift
|
||||
-- removing superscript
|
||||
-- Underfull
|
||||
-- Overfull
|
||||
-- specifier changed to
|
||||
-- You have requested
|
||||
-- Missing number, treated as zero.
|
||||
-- There were undefined references
|
||||
-- Citation %.%# undefined
|
||||
-- Double space found.
|
||||
-- ]]
|
||||
-- vim.g.Tex_IgnoreLevel = 8
|
||||
|
||||
-- Delete extra compilation files when a TeX buffer is deleted.
|
||||
vim.api.nvim_create_autocmd("BufDelete", {
|
||||
|
||||
@@ -209,10 +209,12 @@ super + {ctrl} + {k}
|
||||
|
||||
# search for current semester area, then open terminal wherever it is
|
||||
super + {ctrl} + {c}
|
||||
find /home/synchronous/current-semester -follow -maxdepth 1 | cut -c36- | sed '/^[[:space:]]*$/d' | rofi -dmenu | read csem && alacritty --working-directory "/home/synchronous/current-semester/$csem";
|
||||
cs-browser
|
||||
# find /home/synchronous/current-semester -follow -maxdepth 1 | cut -c36- | sed '/^[[:space:]]*$/d' | rofi -dmenu | read csem && alacritty --working-directory "/home/synchronous/current-semester/$csem";
|
||||
|
||||
super + {alt} + {c}
|
||||
find /home/synchronous/current-semester -follow -maxdepth 1 | cut -c36- | sed '/^[[:space:]]*$/d' | rofi -dmenu | read rsem; yq ".url" "/home/synchronous/current-semester/$rsem/info.yaml" | xargs firefox
|
||||
cs-firefox
|
||||
# find /home/synchronous/current-semester -follow -maxdepth 1 | cut -c36- | sed '/^[[:space:]]*$/d' | rofi -dmenu | read rsem; yq ".url" "/home/synchronous/current-semester/$rsem/info.yaml" | xargs firefox
|
||||
|
||||
# sh /home/synchronous/.scripts/vimwiki/open_todo.sh
|
||||
super + {p}
|
||||
|
||||
@@ -14,6 +14,9 @@ if [[ $OP == on ]]; then
|
||||
tee "$FILE" >/dev/null <<EOF
|
||||
address=/${DOMAIN}/0.0.0.0
|
||||
address=/${DOMAIN}/::
|
||||
address=/www.${DOMAIN}/0.0.0.0
|
||||
address=/www.${DOMAIN}/::
|
||||
|
||||
EOF
|
||||
else
|
||||
rm -f "$FILE"
|
||||
|
||||
@@ -10,6 +10,8 @@ if [[ $OP == on ]]; then
|
||||
sudo tee "$FILE" >/dev/null <<EOF
|
||||
address=/${DOMAIN}/0.0.0.0
|
||||
address=/${DOMAIN}/::
|
||||
address=/www.${DOMAIN}/0.0.0.0
|
||||
address=/www.${DOMAIN}/::
|
||||
EOF
|
||||
else
|
||||
sudo rm -f "$FILE"
|
||||
|
||||
1
home/scripts/school/cs-browser.sh
Normal file
1
home/scripts/school/cs-browser.sh
Normal file
@@ -0,0 +1 @@
|
||||
find /home/synchronous/current-semester -follow -maxdepth 1 | cut -c36- | sed '/^[[:space:]]*$/d' | rofi -dmenu | read csem && alacritty --working-directory "/home/synchronous/current-semester/$csem";
|
||||
8
home/scripts/school/cs-firefox.sh
Normal file
8
home/scripts/school/cs-firefox.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
rsem=$(find /home/synchronous/current-semester -follow -maxdepth 1 | cut -c36- | sed '/^[[:space:]]*$/d' | rofi -dmenu)
|
||||
|
||||
# Exit if nothing selected
|
||||
[ -z "$rsem" ] && exit 0
|
||||
|
||||
# Get URL and open if it exists
|
||||
url=$(yq -r ".url" "/home/synchronous/current-semester/$rsem/info.yaml")
|
||||
[ -n "$url" ] && firefox "$url"
|
||||
59
home/scripts/security/wpcap.sh
Normal file
59
home/scripts/security/wpcap.sh
Normal file
@@ -0,0 +1,59 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
echo "This script must be run as root."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo """
|
||||
██╗ ██╗██████╗ ██████╗ █████╗ ██████╗
|
||||
██║ ██║██╔══██╗██╔════╝██╔══██╗██╔══██╗
|
||||
██║ █╗ ██║██████╔╝██║ ███████║██████╔╝
|
||||
██║███╗██║██╔═══╝ ██║ ██╔══██║██╔═══╝
|
||||
╚███╔███╔╝██║ ╚██████╗██║ ██║██║
|
||||
╚══╝╚══╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚═╝
|
||||
"""
|
||||
|
||||
# if [ -z "$1" ]; then
|
||||
# echo "Usage: sudo $0 <interface>"
|
||||
# exit 1
|
||||
# fi
|
||||
|
||||
INTERFACE=${1:-wlan0}
|
||||
MON_INTERFACE="${INTERFACE}mon"
|
||||
CAPTURE_PREFIX="caps"
|
||||
HASH_FILE="hash.hc22000"
|
||||
|
||||
trap 'echo -e "\nStopping monitor mode on ${MON_INTERFACE}..."; airmon-ng stop ${MON_INTERFACE} > /dev/null 2>&1;' EXIT
|
||||
|
||||
echo "Starting monitor mode on ${INTERFACE}..."
|
||||
airmon-ng start ${INTERFACE} > /dev/null 2>&1
|
||||
|
||||
echo -e "\nCapturing handshakes... Press Ctrl+C when you're done.\n"
|
||||
airodump-ng --write ${CAPTURE_PREFIX} ${MON_INTERFACE}
|
||||
|
||||
echo -e "\nLooking for the latest capture file..."
|
||||
LATEST_CAP=$(ls -t ${CAPTURE_PREFIX}*.cap 2>/dev/null | head -n 1)
|
||||
|
||||
if [ -z "${LATEST_CAP}" ]; then
|
||||
echo "Error: No .cap file found. Exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Converting ${LATEST_CAP} to hash format..."
|
||||
hcxpcapngtool -o ${HASH_FILE} ${LATEST_CAP}
|
||||
|
||||
echo -e "\nConversion complete. Hash saved to ${HASH_FILE}."
|
||||
echo "You can now run hashcat, e.g.: hashcat -m 22000 ${HASH_FILE} /path/to/wordlist.txt"
|
||||
|
||||
read -p "Remove capture files (caps-*)? [y/N] " confirm
|
||||
|
||||
if [[ "${confirm,,}" == "y" ]]; then
|
||||
echo "Cleaning up files..."
|
||||
rm -f caps-*
|
||||
echo "Files removed."
|
||||
else
|
||||
echo "Keeping capture files."
|
||||
fi
|
||||
|
||||
echo "Script finished."
|
||||
23
system/services/printing.nix
Normal file
23
system/services/printing.nix
Normal file
@@ -0,0 +1,23 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
printer = "SCS-public";
|
||||
in {
|
||||
services.printing.drivers = with pkgs; [foomatic-db-ppds];
|
||||
# print with lp
|
||||
hardware.printers = {
|
||||
ensureDefaultPrinter = printer;
|
||||
# https://computing.cs.cmu.edu/desktop/printing-linux-private
|
||||
ensurePrinters = [
|
||||
{
|
||||
name = printer;
|
||||
deviceUri = "lpd://jginesin@scs-print.srv.cs.cmu.edu/${printer}";
|
||||
model =
|
||||
pkgs.foomatic-db-ppds.pname
|
||||
+ "/KONICA_MINOLTA-bizhub_360-Postscript-KONICA_MINOLTA.ppd.gz";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -9,5 +9,6 @@
|
||||
./syncthing/default.nix
|
||||
# ./resolved/default.nix (not enabled, in favor of dnsmasq)
|
||||
./dnsmasq/default.nix
|
||||
./printing.nix
|
||||
];
|
||||
}
|
||||
|
||||
@@ -73,6 +73,7 @@ in {
|
||||
polybar
|
||||
sxhkd
|
||||
bspwm
|
||||
yq
|
||||
# linuxKernel.packages.linux_zen.rtl8812au
|
||||
# librewolf
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user