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"
|
"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": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751274312,
|
"lastModified": 1751274312,
|
||||||
@@ -210,6 +226,7 @@
|
|||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-clisp": "nixpkgs-clisp",
|
"nixpkgs-clisp": "nixpkgs-clisp",
|
||||||
|
"nixpkgs-signal": "nixpkgs-signal",
|
||||||
"verus-flake": "verus-flake"
|
"verus-flake": "verus-flake"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -17,6 +17,10 @@
|
|||||||
|
|
||||||
nixpkgs-clisp.url = "github:NixOS/nixpkgs/da320e5472f021b96a883f71fc525ca0e4815273";
|
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";
|
verus-flake.url = "github:JakeGinesin/verus-flake";
|
||||||
};
|
};
|
||||||
outputs = {
|
outputs = {
|
||||||
@@ -26,6 +30,7 @@
|
|||||||
agenix,
|
agenix,
|
||||||
emacs-overlay,
|
emacs-overlay,
|
||||||
nixpkgs-clisp,
|
nixpkgs-clisp,
|
||||||
|
nixpkgs-signal,
|
||||||
verus-flake,
|
verus-flake,
|
||||||
} @ inputs: let
|
} @ inputs: let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
@@ -43,6 +48,7 @@
|
|||||||
emacs-overlay.overlay
|
emacs-overlay.overlay
|
||||||
(final: _prev: {
|
(final: _prev: {
|
||||||
clisp = nixpkgs-clisp.legacyPackages.${system}.clisp;
|
clisp = nixpkgs-clisp.legacyPackages.${system}.clisp;
|
||||||
|
signal-desktop = nixpkgs-signal.legacyPackages.${system}.signal-desktop;
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
|
|||||||
@@ -119,6 +119,7 @@ in {
|
|||||||
sage
|
sage
|
||||||
yq
|
yq
|
||||||
semgrep
|
semgrep
|
||||||
|
tectonic
|
||||||
# texlive.combined.scheme-full
|
# texlive.combined.scheme-full
|
||||||
|
|
||||||
# security
|
# security
|
||||||
@@ -142,6 +143,7 @@ in {
|
|||||||
postman
|
postman
|
||||||
nuclei
|
nuclei
|
||||||
subfinder
|
subfinder
|
||||||
|
hcxtools
|
||||||
]
|
]
|
||||||
++ (
|
++ (
|
||||||
with lib; let
|
with lib; let
|
||||||
|
|||||||
@@ -77,150 +77,153 @@ in {
|
|||||||
display: none !important
|
display: none !important
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
bookmarks = [
|
bookmarks = {
|
||||||
{
|
force = true;
|
||||||
name = "Bar";
|
settings = [
|
||||||
toolbar = true;
|
{
|
||||||
bookmarks = [
|
name = "Bar";
|
||||||
{
|
toolbar = true;
|
||||||
name = "nixos";
|
bookmarks = [
|
||||||
bookmarks = [
|
{
|
||||||
{
|
name = "nixos";
|
||||||
name = "noogle";
|
bookmarks = [
|
||||||
url = "https://noogle.dev/";
|
{
|
||||||
}
|
name = "noogle";
|
||||||
{
|
url = "https://noogle.dev/";
|
||||||
name = "home manager options";
|
}
|
||||||
url = "https://home-manager-options.extranix.com/";
|
{
|
||||||
}
|
name = "home manager options";
|
||||||
{
|
url = "https://home-manager-options.extranix.com/";
|
||||||
name = "nixpkgs";
|
}
|
||||||
url = "https://search.nixos.org/packages";
|
{
|
||||||
}
|
name = "nixpkgs";
|
||||||
{
|
url = "https://search.nixos.org/packages";
|
||||||
name = "dots";
|
}
|
||||||
url = "https://github.com/JakeGinesin/nix-dots";
|
{
|
||||||
}
|
name = "dots";
|
||||||
{
|
url = "https://github.com/JakeGinesin/nix-dots";
|
||||||
name = "nix options";
|
}
|
||||||
url = "https://search.nixos.org/options";
|
{
|
||||||
}
|
name = "nix options";
|
||||||
{
|
url = "https://search.nixos.org/options";
|
||||||
name = "old packages";
|
}
|
||||||
url = "https://lazamar.co.uk/nix-versions/";
|
{
|
||||||
}
|
name = "old packages";
|
||||||
];
|
url = "https://lazamar.co.uk/nix-versions/";
|
||||||
}
|
}
|
||||||
{
|
];
|
||||||
name = "cmu";
|
}
|
||||||
bookmarks = [
|
{
|
||||||
{
|
name = "cmu";
|
||||||
name = "computing facilities";
|
bookmarks = [
|
||||||
url = "https://computing.cs.cmu.edu/landing/student";
|
{
|
||||||
}
|
name = "computing facilities";
|
||||||
{
|
url = "https://computing.cs.cmu.edu/landing/student";
|
||||||
name = "csd phd resources";
|
}
|
||||||
url = "https://www.cs.cmu.edu/~csd-grad/";
|
{
|
||||||
}
|
name = "csd phd resources";
|
||||||
{
|
url = "https://www.cs.cmu.edu/~csd-grad/";
|
||||||
name = "general phd resources";
|
}
|
||||||
url = "https://csd.cmu.edu/academics/doctoral-resources";
|
{
|
||||||
}
|
name = "general phd resources";
|
||||||
# {
|
url = "https://csd.cmu.edu/academics/doctoral-resources";
|
||||||
# name = "cmu orders";
|
}
|
||||||
# url = "https://rams.srv.cs.cmu.edu/ords/";
|
# {
|
||||||
# }
|
# name = "cmu orders";
|
||||||
{
|
# url = "https://rams.srv.cs.cmu.edu/ords/";
|
||||||
name = "cmu sio";
|
# }
|
||||||
url = "https://s3.andrew.cmu.edu/sio";
|
{
|
||||||
}
|
name = "cmu sio";
|
||||||
{
|
url = "https://s3.andrew.cmu.edu/sio";
|
||||||
name = "husker";
|
}
|
||||||
url = "https://www.husker.nu";
|
{
|
||||||
}
|
name = "husker";
|
||||||
{
|
url = "https://www.husker.nu";
|
||||||
name = "mit library experts";
|
}
|
||||||
url = "https://libraries.mit.edu/experts/";
|
{
|
||||||
}
|
name = "mit library experts";
|
||||||
{
|
url = "https://libraries.mit.edu/experts/";
|
||||||
name = "cmu canvas";
|
}
|
||||||
url = "https://canvas.cmu.edu/";
|
{
|
||||||
}
|
name = "cmu canvas";
|
||||||
{
|
url = "https://canvas.cmu.edu/";
|
||||||
name = "cmu email";
|
}
|
||||||
url = "https://email.cmu.edu";
|
{
|
||||||
}
|
name = "cmu email";
|
||||||
{
|
url = "https://email.cmu.edu";
|
||||||
name = "grfp";
|
}
|
||||||
url = "https://www.research.gov/grfp/Login.do"; # your tax dollars fund my phd loser. pay big sam up.
|
{
|
||||||
}
|
name = "grfp";
|
||||||
{
|
url = "https://www.research.gov/grfp/Login.do"; # your tax dollars fund my phd loser. pay big sam up.
|
||||||
name = "cmueats";
|
}
|
||||||
url = "https://cmueats.com/";
|
{
|
||||||
}
|
name = "cmueats";
|
||||||
{
|
url = "https://cmueats.com/";
|
||||||
name = "cmucourses";
|
}
|
||||||
url = "https://cmucourses.com/";
|
{
|
||||||
}
|
name = "cmucourses";
|
||||||
];
|
url = "https://cmucourses.com/";
|
||||||
}
|
}
|
||||||
{
|
];
|
||||||
name = "solvers";
|
}
|
||||||
bookmarks = [
|
{
|
||||||
{
|
name = "solvers";
|
||||||
name = "GPT";
|
bookmarks = [
|
||||||
url = "https://chatgpt.com"; # sam altman is a horrible person and i cannot wait for the day i can ditch this shit
|
{
|
||||||
}
|
name = "GPT";
|
||||||
{
|
url = "https://chatgpt.com"; # sam altman is a horrible person and i cannot wait for the day i can ditch this shit
|
||||||
name = "claude";
|
}
|
||||||
url = "https://claude.ai";
|
{
|
||||||
}
|
name = "claude";
|
||||||
{
|
url = "https://claude.ai";
|
||||||
name = "gemini";
|
}
|
||||||
url = "https://gemini.google.com";
|
{
|
||||||
}
|
name = "gemini";
|
||||||
];
|
url = "https://gemini.google.com";
|
||||||
}
|
}
|
||||||
{
|
];
|
||||||
name = "verus";
|
}
|
||||||
bookmarks = [
|
{
|
||||||
{
|
name = "verus";
|
||||||
name = "verus playground";
|
bookmarks = [
|
||||||
url = "https://play.verus-lang.org/?version=stable&mode=basic&edition=2021";
|
{
|
||||||
}
|
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 docs";
|
||||||
{
|
url = "https://verus-lang.github.io/verus/guide/verus_macro_intro.html";
|
||||||
name = "verus zulip";
|
}
|
||||||
url = "https://verus-lang.zulipchat.com/#feed";
|
{
|
||||||
}
|
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 = "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 = "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 = "verus github";
|
||||||
];
|
url = "https://github.com/verus-lang/verus";
|
||||||
}
|
}
|
||||||
{
|
];
|
||||||
name = "cal";
|
}
|
||||||
url = "https://calendar.google.com/";
|
{
|
||||||
}
|
name = "cal";
|
||||||
{
|
url = "https://calendar.google.com/";
|
||||||
name = "performance";
|
}
|
||||||
url = "about:processes";
|
{
|
||||||
}
|
name = "performance";
|
||||||
];
|
url = "about:processes";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
settings = {
|
settings = {
|
||||||
### This is all aesthetic stuff
|
### This is all aesthetic stuff
|
||||||
# for tiling window managers expands to the size of the window
|
# for tiling window managers expands to the size of the window
|
||||||
|
|||||||
@@ -31,6 +31,8 @@
|
|||||||
black
|
black
|
||||||
nodejs_22
|
nodejs_22
|
||||||
latexrun
|
latexrun
|
||||||
|
tectonic
|
||||||
|
texpresso
|
||||||
# gh
|
# gh
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -39,6 +41,18 @@
|
|||||||
vim-airline-themes
|
vim-airline-themes
|
||||||
plenary-nvim
|
plenary-nvim
|
||||||
nvim-web-devicons
|
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;
|
plugin = telescope-nvim;
|
||||||
config = toLuaFile ./plugins/telescope.lua;
|
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_viewer = 'zathura'
|
||||||
vim.g.vimtex_view_general_options = '--unique file:@pdf#src:@line@tex'
|
vim.g.vimtex_view_general_options = '--unique file:@pdf#src:@line@tex'
|
||||||
|
|
||||||
|
|
||||||
-- Set the TeX flavor and quickfix mode.
|
-- Set the TeX flavor and quickfix mode.
|
||||||
vim.g.tex_flavor = 'latex'
|
vim.g.tex_flavor = 'latex'
|
||||||
vim.g.vimtex_quickfix_mode = 0
|
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 = '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).
|
-- Set the local leader (default is "\"; here we change it to comma).
|
||||||
vim.g.maplocalleader = ','
|
vim.g.maplocalleader = ','
|
||||||
|
|
||||||
-- Configure warnings to ignore.
|
-- Configure warnings to ignore.
|
||||||
vim.g.Tex_IgnoredWarnings = [[
|
-- vim.g.Tex_IgnoredWarnings = [[
|
||||||
Package hyperref Warning
|
-- Package hyperref Warning
|
||||||
Token not allowed in a PDF string (Unicode)
|
-- Token not allowed in a PDF string (Unicode)
|
||||||
removing math shift
|
-- removing math shift
|
||||||
removing superscript
|
-- removing superscript
|
||||||
Underfull
|
-- Underfull
|
||||||
Overfull
|
-- Overfull
|
||||||
specifier changed to
|
-- specifier changed to
|
||||||
You have requested
|
-- You have requested
|
||||||
Missing number, treated as zero.
|
-- Missing number, treated as zero.
|
||||||
There were undefined references
|
-- There were undefined references
|
||||||
Citation %.%# undefined
|
-- Citation %.%# undefined
|
||||||
Double space found.
|
-- Double space found.
|
||||||
]]
|
-- ]]
|
||||||
vim.g.Tex_IgnoreLevel = 8
|
-- vim.g.Tex_IgnoreLevel = 8
|
||||||
|
|
||||||
-- Delete extra compilation files when a TeX buffer is deleted.
|
-- Delete extra compilation files when a TeX buffer is deleted.
|
||||||
vim.api.nvim_create_autocmd("BufDelete", {
|
vim.api.nvim_create_autocmd("BufDelete", {
|
||||||
|
|||||||
@@ -209,10 +209,12 @@ super + {ctrl} + {k}
|
|||||||
|
|
||||||
# search for current semester area, then open terminal wherever it is
|
# search for current semester area, then open terminal wherever it is
|
||||||
super + {ctrl} + {c}
|
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}
|
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
|
# sh /home/synchronous/.scripts/vimwiki/open_todo.sh
|
||||||
super + {p}
|
super + {p}
|
||||||
|
|||||||
@@ -14,6 +14,9 @@ if [[ $OP == on ]]; then
|
|||||||
tee "$FILE" >/dev/null <<EOF
|
tee "$FILE" >/dev/null <<EOF
|
||||||
address=/${DOMAIN}/0.0.0.0
|
address=/${DOMAIN}/0.0.0.0
|
||||||
address=/${DOMAIN}/::
|
address=/${DOMAIN}/::
|
||||||
|
address=/www.${DOMAIN}/0.0.0.0
|
||||||
|
address=/www.${DOMAIN}/::
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
else
|
else
|
||||||
rm -f "$FILE"
|
rm -f "$FILE"
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ if [[ $OP == on ]]; then
|
|||||||
sudo tee "$FILE" >/dev/null <<EOF
|
sudo tee "$FILE" >/dev/null <<EOF
|
||||||
address=/${DOMAIN}/0.0.0.0
|
address=/${DOMAIN}/0.0.0.0
|
||||||
address=/${DOMAIN}/::
|
address=/${DOMAIN}/::
|
||||||
|
address=/www.${DOMAIN}/0.0.0.0
|
||||||
|
address=/www.${DOMAIN}/::
|
||||||
EOF
|
EOF
|
||||||
else
|
else
|
||||||
sudo rm -f "$FILE"
|
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
|
./syncthing/default.nix
|
||||||
# ./resolved/default.nix (not enabled, in favor of dnsmasq)
|
# ./resolved/default.nix (not enabled, in favor of dnsmasq)
|
||||||
./dnsmasq/default.nix
|
./dnsmasq/default.nix
|
||||||
|
./printing.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ in {
|
|||||||
polybar
|
polybar
|
||||||
sxhkd
|
sxhkd
|
||||||
bspwm
|
bspwm
|
||||||
|
yq
|
||||||
# linuxKernel.packages.linux_zen.rtl8812au
|
# linuxKernel.packages.linux_zen.rtl8812au
|
||||||
# librewolf
|
# librewolf
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user