Compare commits

...

7 commits

Author SHA1 Message Date
caandt 2022737197 mouse 2026-03-12 20:44:33 -05:00
caandt 01d5c5bc9f alias 2026-03-09 01:05:35 -05:00
caandt f997be3dcc bump 2026-03-08 16:53:11 -05:00
caandt 25a539987d tachibana 2026-03-08 16:47:08 -05:00
caandt 2dc47d0fca kactivitymanager 2026-03-08 13:49:16 -05:00
caandt eb5038c207 fastcompmgr 2026-03-08 13:47:20 -05:00
caandt 070bfc728a nvim 2026-03-08 13:47:03 -05:00
17 changed files with 207 additions and 84 deletions

View file

@ -7,11 +7,11 @@
]
},
"locked": {
"lastModified": 1746728054,
"narHash": "sha256-eDoSOhxGEm2PykZFa/x9QG5eTH0MJdiJ9aR00VAofXE=",
"lastModified": 1768920986,
"narHash": "sha256-CNzzBsRhq7gg4BMBuTDObiWDH/rFYHEuDRVOwCcwXw4=",
"owner": "nix-community",
"repo": "disko",
"rev": "ff442f5d1425feb86344c028298548024f21256d",
"rev": "de5708739256238fb912c62f03988815db89ec9a",
"type": "github"
},
"original": {
@ -21,16 +21,32 @@
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1765495779,
"narHash": "sha256-MhA7wmo/7uogLxiewwRRmIax70g6q1U/YemqTGoFHlM=",
"lastModified": 1772408722,
"narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "5635c32d666a59ec9a55cab87e898889869f7b71",
"rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3",
"type": "github"
},
"original": {
@ -47,11 +63,11 @@
"utils": "utils"
},
"locked": {
"lastModified": 1765911005,
"narHash": "sha256-avaLO3hlDITEagKvoUC0KtgZif3tyx8LpNSf9R5keNk=",
"lastModified": 1772974802,
"narHash": "sha256-SEe6mMTwceijwzeeQ4dauWuuEwkdqobSbDgiwqQwnxI=",
"owner": "wamserma",
"repo": "flake-programs-sqlite",
"rev": "c98fbcdffe90188fc52c54b04d06f5dff4a2852f",
"rev": "7ac37009c7b3fa6c1a1d076f3181a695401f7d31",
"type": "github"
},
"original": {
@ -60,6 +76,51 @@
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"nix-gaming",
"nixpkgs"
]
},
"locked": {
"lastModified": 1772893680,
"narHash": "sha256-JDqZMgxUTCq85ObSaFw0HhE+lvdOre1lx9iI6vYyOEs=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "8baab586afc9c9b57645a734c820e4ac0a604af9",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"nix-gaming",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -67,11 +128,11 @@
]
},
"locked": {
"lastModified": 1765860045,
"narHash": "sha256-7Lxp/PfOy4h3QIDtmWG/EgycaswqRSkDX4DGtet14NE=",
"lastModified": 1772985285,
"narHash": "sha256-wEEmvfqJcl9J0wyMgMrj1TixOgInBW/6tLPhWGoZE3s=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "09de9577d47d8bffb11c449b6a3d24e32ac16c99",
"rev": "5be5d8245cbc7bc0c09fbb5f38f23f223c543f85",
"type": "github"
},
"original": {
@ -83,16 +144,17 @@
"nix-gaming": {
"inputs": {
"flake-parts": "flake-parts",
"git-hooks": "git-hooks",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1765937051,
"narHash": "sha256-JBbnxGZDzLtYoqragAnTrpLMAEWMJoQAMpAx2k0hIYg=",
"lastModified": 1772937574,
"narHash": "sha256-Yw1tP/ASebNYuW2GcYDTgWf2Mg9qcUYo6MTagXyeFCs=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "64cbe149f26ca2c6687ca5ab4f294d0b87c6ffb8",
"rev": "d2b0b283deb24cdbb2750e658fa7001fee5ad586",
"type": "github"
},
"original": {
@ -103,11 +165,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1765779637,
"narHash": "sha256-KJ2wa/BLSrTqDjbfyNx70ov/HdgNBCBBSQP3BIzKnv4=",
"lastModified": 1772773019,
"narHash": "sha256-E1bxHxNKfDoQUuvriG71+f+s/NT0qWkImXsYZNFFfCs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1306659b587dc277866c7b69eb97e5f07864d8c4",
"rev": "aca4d95fce4914b3892661bcb80b8087293536c6",
"type": "github"
},
"original": {
@ -119,11 +181,11 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1761765539,
"narHash": "sha256-b0yj6kfvO8ApcSE+QmA6mUfu8IYG6/uU28OFn4PaC8M=",
"lastModified": 1772328832,
"narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "719359f4562934ae99f5443f20aa06c2ffff91fc",
"rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742",
"type": "github"
},
"original": {
@ -158,11 +220,11 @@
"uv2nix": "uv2nix"
},
"locked": {
"lastModified": 1765834918,
"narHash": "sha256-jCX7Pi9T3bwDfLgTM3xMFvjMXGGmAe5lBXPcxsmsLqI=",
"lastModified": 1772763464,
"narHash": "sha256-1IEO166bp1yLwyWE1tl6dJDzL6fniu4+OdeSJpkUwD4=",
"owner": "pwndbg",
"repo": "pwndbg",
"rev": "dfdfbd4f7bd45869d7b4b7d3e4418aede29359d2",
"rev": "2b1c3b4f91f05aca4ed8b17d0c7a634b55d8f754",
"type": "github"
},
"original": {
@ -187,11 +249,11 @@
]
},
"locked": {
"lastModified": 1757296493,
"narHash": "sha256-6nzSZl28IwH2Vx8YSmd3t6TREHpDbKlDPK+dq1LKIZQ=",
"lastModified": 1763662255,
"narHash": "sha256-4bocaOyLa3AfiS8KrWjZQYu+IAta05u3gYZzZ6zXbT0=",
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"rev": "5b8e37fe0077db5c1df3a5ee90a651345f085d38",
"rev": "042904167604c681a090c07eb6967b4dd4dae88c",
"type": "github"
},
"original": {
@ -208,11 +270,11 @@
]
},
"locked": {
"lastModified": 1757246327,
"narHash": "sha256-6pNlGhwOIMfhe/RLjHdpXveKS4FyLHvlGe+KtjDild4=",
"lastModified": 1769936401,
"narHash": "sha256-kwCOegKLZJM9v/e/7cqwg1p/YjjTAukKPqmxKnAZRgA=",
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"rev": "8d77f342d66ad1601cdb9d97e9388b69f64d4c8e",
"rev": "b0d513eeeebed6d45b4f2e874f9afba2021f7812",
"type": "github"
},
"original": {
@ -240,11 +302,11 @@
]
},
"locked": {
"lastModified": 1765836173,
"narHash": "sha256-hWRYfdH2ONI7HXbqZqW8Q1y9IRbnXWvtvt/ONZovSNY=",
"lastModified": 1772944399,
"narHash": "sha256-xTzsSd3r5HBeufSZ3fszAn0ldfKctvsYG7tT2YJg5gY=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "443a7f2e7e118c4fc63b7fae05ab3080dd0e5c63",
"rev": "c8e69670b316d6788e435a3aa0bda74eb1b82cc0",
"type": "github"
},
"original": {
@ -253,13 +315,31 @@
"type": "github"
}
},
"utils": {
"systems": {
"locked": {
"lastModified": 1678901627,
"narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
@ -280,11 +360,11 @@
]
},
"locked": {
"lastModified": 1756973152,
"narHash": "sha256-9JcKAA7T9J98LWdcxbXvmf+amQG3ZErxqQnBjEJI04I=",
"lastModified": 1769957392,
"narHash": "sha256-6PkqwwYf5K2CHi2V+faI/9pqjfz/HxUkI/MVid6hlOY=",
"owner": "pyproject-nix",
"repo": "uv2nix",
"rev": "64298e806f4a5f63a51c625edc100348138491aa",
"rev": "d18bc50ae1c3d4be9c41c2d94ea765524400af75",
"type": "github"
},
"original": {

View file

@ -15,7 +15,7 @@
boot.kernelPackages = pkgs.linuxPackages_latest;
boot.extraModulePackages = [config.boot.kernelPackages.it87];
boot.kernelParams = ["acpi_enforce_resources=lax"];
boot.kernelParams = ["acpi_enforce_resources=lax" "default_hugepagesz=1G" "hugepagesz=1G" "hugepages=33"];
boot.kernelModules = ["it87"];
boot.extraModprobeConfig = "options it87 ignore_resource_conflict=1 force_id=0x8622";
services.getty = {
@ -26,7 +26,10 @@
time.timeZone = "America/Chicago";
services.xserver = {
videoDrivers = ["nvidia"];
deviceSection = ''Option "TearFree" "true"'';
deviceSection = ''
VendorName "NVIDIA Corporation"
BusID "PCI:16:0:0"
'';
};
hardware.nvidia.open = true;
nixpkgs.config.allowUnfreePredicate = pkg:
@ -40,7 +43,7 @@
users.users.ahnwuoa = {
isNormalUser = true;
extraGroups = ["wheel"];
extraGroups = ["wheel" "audio" "kvm"];
};
boot.loader.grub.extraEntries = ''
menuentry "UEFI Firmware Settings" {

View file

@ -6,12 +6,12 @@
nixpkgs.overlays = [
(self: super: {
nsxiv = super.nsxiv.overrideAttrs (old: {
buildInputs = old.buildInputs ++ [super.xorg.libXcursor];
buildInputs = old.buildInputs ++ [super.libxcursor];
env.NIX_LDFLAGS = "-lXcursor";
patches = [./nsxiv.diff];
});
maim = super.maim.overrideAttrs (old: {
buildInputs = old.buildInputs ++ [super.xorg.libXcursor];
buildInputs = old.buildInputs ++ [super.libxcursor];
env.NIX_LDFLAGS = "-lXcursor";
});
ki = super.ki.overrideAttrs (old: {

View file

@ -33,6 +33,12 @@ lib.mkIf config.u.has.graphical {
in [application-menu];
services.libinput = {
enable = true;
mouse.accelProfile = "flat";
mouse = {
accelProfile = "flat";
middleEmulation = false;
additionalOptions = ''
Option "HighResolutionWheelScrolling" "0"
'';
};
};
}

View file

@ -1,4 +1,9 @@
{config, ...}: {
{
config,
pkgs,
lib,
...
}: {
virtualisation.containers.enable = config.u.has.container;
virtualisation = {
podman = {
@ -8,6 +13,25 @@
};
};
virtualisation.libvirtd.enable = config.u.has.virt;
virtualisation.libvirtd.package = pkgs.libvirt.overrideAttrs (old: {
postPatch =
old.postPatch
+ (
let
script = pkgs.writeShellApplication {
name = "virt-secret-init-encryption-sh";
runtimeInputs = [
pkgs.coreutils
pkgs.systemd
];
text = ''exec ${pkgs.runtimeShell} "$@"'';
};
in ''
substituteInPlace src/secret/virt-secret-init-encryption.service.in \
--replace-fail /usr/bin/sh ${lib.getExe script}
''
);
});
programs.virt-manager.enable = config.u.has.graphical && config.u.has.virt;
programs.nix-ld.enable = true;
hardware.graphics.enable32Bit = config.u.has.graphical && config.u.has.wine;

View file

@ -22,4 +22,13 @@ lib.mkIf config.u.has.yubikey {
services.physlock.u2fAuth = false;
};
programs.yubikey-touch-detector.enable = true;
systemd.services."polkit-agent-helper@".serviceConfig = {
PrivateDevices = lib.mkForce false;
DeviceAllow = [
"/dev/urandom r"
"char-hidraw rw"
];
ProtectHome = lib.mkForce "read-only";
StandardError = "journal";
};
}

View file

@ -19,7 +19,7 @@ lib.mkIf config.u.has.activitywatch {
};
home.packages = with pkgs; [
activitywatch
python312Packages.aw-client
python312Packages.aw-core
python3Packages.aw-client
python3Packages.aw-core
];
}

View file

@ -14,7 +14,7 @@ lib.mkIf config.u.has.graphical {
"xdg-desktop-portal.service"
"copyq.service"
"fcitx5.service"
"picom.service"
"fastcompmgr.service"
"safeeyes.service"
"snixembed.service"
];
@ -26,7 +26,7 @@ lib.mkIf config.u.has.graphical {
systemd.user.services = {
copyq.Service.ExecStart = ["${pkgs.copyq}/bin/copyq"];
fcitx5.Service.ExecStart = ["/run/current-system/sw/bin/fcitx5"];
picom.Service.ExecStart = ["${pkgs.picom}/bin/picom"];
fastcompmgr.Service.ExecStart = ["${pkgs.fastcompmgr}/bin/fastcompmgr"];
safeeyes.Service.ExecStart = ["${pkgs.safeeyes}/bin/safeeyes"];
snixembed.Service.ExecStart = ["${pkgs.snixembed}/bin/snixembed"];
};

View file

@ -89,7 +89,7 @@ mods = "Control|Shift"
[window]
dynamic_padding = true
opacity = 0.8
opacity = 0.9
[window.padding]
x = 10

View file

@ -50,22 +50,14 @@ alias gap='git add -p'
alias gr='git reset'
alias lg='lazygit'
# pacman aliases
if _exists pacman; then
alias p='pacman'
alias pq='pacman -Q | fzf'
alias aur='pacman -Qm'
alias qo='pacman -Qo'
alias ql='pacman -Ql'
alias qi='pacman -Qii'
fi
# for using aliases with sudo
_exists doas && alias sudo='doas ' || alias sudo='sudo '
alias doas='doas '
alias py='python'
alias s='systemctl'
_completion_loader systemctl
complete -F _systemctl s
alias x='sx ~/.config/sx/sxrc'
alias xo='xdg-open'
alias log='sudo journalctl -b'
@ -75,9 +67,9 @@ alias path='sed "s/:/\n/g" <<< $PATH'
alias utc='date -u +"%Y-%m-%d %H:%M:%S UTC"'
alias odd='objdump -d'
alias xco='xclip -o -sel clipboard'
alias k1='kill %1'
alias pwninit='pwninit --template-path ~/.config/pwninit/template.py --template-bin-name e'
alias fonts='fc-list | awk -F: "{ print \$2 }" | sort | uniq | fzf'
alias hz='xrandr --output DisplayPort-1 --mode 1920x1080 --rate'
alias ns='nix-shell'
alias zn='cd ~/.local/nixos'
alias znh='cd ~/.local/nixos/hosts/$(hostname)'

View file

@ -25,18 +25,18 @@
nvim-colorizer-lua
lazydev-nvim
Coqtail
neorg
plenary-nvim
typst-preview-nvim
(pkgs.vimUtils.buildVimPlugin {
pname = "undotree";
version = "2024-2-9";
version = "2026-1-25";
src = pkgs.fetchFromGitHub {
owner = "jiaoshijie";
repo = "undotree";
rev = "eab459ab87dd249617b5f7187bb69e614a083047";
sha256 = "sha256-FIYDyfkaIS9C16ClWKLMdpSPv/OrcOalVVsyFJBU2eI=";
rev = "ac02e6055fc2b9a5d904e40eb3d943c8dc2cad01";
sha256 = "sha256-Sb8tlFROVEuHgXgHViS8eFiWZzjVh2ZNzyZuQdFFkq0=";
};
meta.homepage = "https://github.com/jiaoshijie/undotree";
buildInputs = [plenary-nvim];
})
];
extraPackages = with pkgs; [
@ -46,6 +46,7 @@
nixd
lua-language-server
zls
tinymist
];
withRuby = false;
withPython3 = true;

View file

@ -10,7 +10,13 @@ map('n', '<leader>h', '<cmd>sp<cr>', {desc = "split [H]orizontal"})
map('n', 'q:', '<nop>')
map('n', '<leader>cd', vim.diagnostic.open_float, {desc = "[C]ode [D]iagnostic"})
map('n', 'x', '"_x')
map('n', '<down>', '<cmd>CoqNext<cr>')
map('n', '<up>', '<cmd>CoqUndo<cr>')
map('i', '<c-a-j>', '<cmd>CoqNext<cr>')
map('i', '<c-a-k>', '<cmd>CoqUndo<cr>')
vim.api.nvim_create_autocmd('FileType', {
pattern = { 'coq' },
callback = function ()
map('n', '<down>', '<cmd>CoqNext<cr>')
map('n', '<up>', '<cmd>CoqUndo<cr>')
map('i', '<c-a-j>', '<cmd>CoqNext<cr>')
map('i', '<c-a-k>', '<cmd>CoqUndo<cr>')
end
})

View file

@ -18,7 +18,10 @@ require('gitsigns').setup({
},
})
require('nvim-treesitter.configs').setup({ highlight = { enable = true } })
vim.api.nvim_create_autocmd('FileType', {
pattern = { 'python' },
callback = function() vim.treesitter.start() end,
})
require('mini.files').setup({
windows = { preview = true }
@ -50,11 +53,3 @@ require('undotree').setup({
}
})
require('lazydev').setup()
require('neorg').setup({
lazy_loading = true,
load = {
["core.defaults"] = {},
["core.concealer"] = {},
}
})

View file

@ -55,6 +55,7 @@ vim.lsp.enable("pyright")
vim.lsp.enable("nixd")
vim.lsp.enable("lua_ls")
vim.lsp.enable("zls")
vim.lsp.enable("tinymist")
vim.lsp.config("clangd",{
cmd = {

View file

@ -41,6 +41,7 @@
xclip
copyq
picom
fastcompmgr
obs-studio
screenkey
safeeyes
@ -60,12 +61,12 @@
(config.u.lib.localHome vesktop "vesktop" "bin/vesktop")
]
++ lib.optionals config.u.has.wine [
wineWowPackages.stable
wineWow64Packages.stable
winetricks
]
++ lib.optionals config.u.has.jp [
anki
ki
python312Packages.manga-ocr
python3Packages.manga-ocr
];
}

View file

@ -7,7 +7,7 @@
lib.mkIf config.u.has.prog {
home.packages = with pkgs;
[
(python312.withPackages (python-pkgs: [
(python3.withPackages (python-pkgs: [
python-pkgs.pwntools
python-pkgs.requests
python-pkgs.pyjwt
@ -25,6 +25,7 @@ lib.mkIf config.u.has.prog {
pyp
coq_8_20
zig
typst
]
++ lib.optionals config.u.has.graphical [
(cutter.withPlugins (ps: with ps; [jsdec rz-ghidra sigdb]))

View file

@ -13,6 +13,10 @@
text = "";
force = true;
};
xdg.dataFile."kactivitymanagerd" = {
text = "";
force = true;
};
xdg.dataFile."kwalletd".source = ./kwalletd;
xdg.dataFile."rem.cmd".source = config.u.lib.lnn "user/share/rem.cmd";
}