Compare commits
3 commits
05a2111bc1
...
aff050df73
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aff050df73 | ||
|
|
c6ec27e9b3 | ||
|
|
0d4d413f94 |
177
flake.lock
177
flake.lock
|
|
@ -26,11 +26,11 @@
|
|||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1736143030,
|
||||
"narHash": "sha256-+hu54pAoLDEZT9pjHlqL9DNzWz0NbUn8NEAHP7PQPzU=",
|
||||
"lastModified": 1738453229,
|
||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "b905f6fc23a9051a6e1b741e1438dbfc0634c6de",
|
||||
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -47,11 +47,11 @@
|
|||
"utils": "utils"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738013154,
|
||||
"narHash": "sha256-yA8AwQM3bws/snp0sDscjrz7xiqZuq9LIHu12lxcb+g=",
|
||||
"lastModified": 1740502997,
|
||||
"narHash": "sha256-M+e//9CO9akq/pzEDQ0S9Uz1sFEk8yl1ayKtNqBV0Sc=",
|
||||
"owner": "wamserma",
|
||||
"repo": "flake-programs-sqlite",
|
||||
"rev": "dcd8417121581ad263ca789345666a390d140eb5",
|
||||
"rev": "06bbfd83407a5a6d4de19560a0b18b2c3787f10c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -67,11 +67,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737968762,
|
||||
"narHash": "sha256-xiPARGKwocaMtv+U/rgi+h2g56CZZEmrcl7ldRaslq8=",
|
||||
"lastModified": 1740494361,
|
||||
"narHash": "sha256-Dd/GhJ9qKmUwuhgt/PAROG8J6YdU2ZjtJI9SQX5sVQI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "e1ae908bcc30af792b0bb0a52e53b03d2577255e",
|
||||
"rev": "74f0a8546e3f2458c870cf90fc4b38ac1f498b17",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -85,15 +85,14 @@
|
|||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"umu": "umu"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737855374,
|
||||
"narHash": "sha256-RRGX2C+c+GaR3YMiYm6l/Tp5N/KZtYpiTplUrBwH/og=",
|
||||
"lastModified": 1740361404,
|
||||
"narHash": "sha256-hKaJ6QDZuxcbwifzcfLyiK9nmlIx1uQqWQwJ45PBn88=",
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"rev": "4845fe94cda365c7550d9fd1ef899d45df0bc18a",
|
||||
"rev": "1e6dc4b9895602f9459d6ff3a11b0cd144321207",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -104,11 +103,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1737885589,
|
||||
"narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=",
|
||||
"lastModified": 1740367490,
|
||||
"narHash": "sha256-WGaHVAjcrv+Cun7zPlI41SerRtfknGQap281+AakSAw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8",
|
||||
"rev": "0196c0175e9191c474c26ab5548db27ef5d34b05",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -120,23 +119,23 @@
|
|||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1735774519,
|
||||
"narHash": "sha256-CewEm1o2eVAnoqb6Ml+Qi9Gg/EfNAxbRx1lANGVyoLI=",
|
||||
"lastModified": 1738452942,
|
||||
"narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz"
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/e9b51731911566bbf7e4895475a87fe06961de0b.tar.gz"
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1737885640,
|
||||
"narHash": "sha256-GFzPxJzTd1rPIVD4IW+GwJlyGwBDV1Tj5FLYwDQQ9sM=",
|
||||
"lastModified": 1740339700,
|
||||
"narHash": "sha256-cbrw7EgQhcdFnu6iS3vane53bEagZQy/xyIkDWpCgVE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4e96537f163fad24ed9eb317798a79afc85b51b7",
|
||||
"rev": "04ef94c4c1582fd485bbfdb8c4a8ba250e359195",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -146,6 +145,79 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pwndbg": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pyproject-build-systems": "pyproject-build-systems",
|
||||
"pyproject-nix": "pyproject-nix",
|
||||
"uv2nix": "uv2nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1740333626,
|
||||
"narHash": "sha256-OcwULIZcWOC1FNGa0SNGtyMyfbwTsBj17LBPpGOZL78=",
|
||||
"owner": "pwndbg",
|
||||
"repo": "pwndbg",
|
||||
"rev": "ef090ebf5eb75713b1f97c3d9aa3d7be636b0c3a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pwndbg",
|
||||
"repo": "pwndbg",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pyproject-build-systems": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"pwndbg",
|
||||
"nixpkgs"
|
||||
],
|
||||
"pyproject-nix": [
|
||||
"pwndbg",
|
||||
"pyproject-nix"
|
||||
],
|
||||
"uv2nix": [
|
||||
"pwndbg",
|
||||
"uv2nix"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737338290,
|
||||
"narHash": "sha256-gnXlfFEHA+/jMH7R+7y3JxrI3WfOjgBhzzJNuFW70UU=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "build-system-pkgs",
|
||||
"rev": "e1487e5cefda0c7990bdd2e660bee20971680e45",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "build-system-pkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pyproject-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"pwndbg",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738204167,
|
||||
"narHash": "sha256-J5M2sj3x4ocM93shScT/3Z4XWHZhwwW1NyQK+C+8Mys=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "pyproject.nix",
|
||||
"rev": "0d9f4b90cee1b5c5d6c142ef22de1e246e003ccc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "pyproject.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"disko": "disko",
|
||||
|
|
@ -154,6 +226,7 @@
|
|||
"nix-gaming": "nix-gaming",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"pwndbg": "pwndbg",
|
||||
"sops-nix": "sops-nix"
|
||||
}
|
||||
},
|
||||
|
|
@ -164,11 +237,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1737411508,
|
||||
"narHash": "sha256-j9IdflJwRtqo9WpM0OfAZml47eBblUHGNQTe62OUqTw=",
|
||||
"lastModified": 1739262228,
|
||||
"narHash": "sha256-7JAGezJ0Dn5qIyA2+T4Dt/xQgAbhCglh6lzCekTVMeU=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "015d461c16678fc02a2f405eb453abb509d4e1d4",
|
||||
"rev": "07af005bb7d60c7f118d9d9f5530485da5d1e975",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
@ -177,31 +250,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"umu": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nix-gaming",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"dir": "packaging/nix",
|
||||
"lastModified": 1737834175,
|
||||
"narHash": "sha256-fhyc89qqYM3ql0k4hJVibAhXvEXOch96hnsEGB7Av3I=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "4d1860eefd79d6c04e964774155dbe13be65121a",
|
||||
"revCount": 911,
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
|
||||
},
|
||||
"original": {
|
||||
"dir": "packaging/nix",
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
|
||||
}
|
||||
},
|
||||
"utils": {
|
||||
"locked": {
|
||||
"lastModified": 1678901627,
|
||||
|
|
@ -216,6 +264,31 @@
|
|||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"uv2nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"pwndbg",
|
||||
"nixpkgs"
|
||||
],
|
||||
"pyproject-nix": [
|
||||
"pwndbg",
|
||||
"pyproject-nix"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738653454,
|
||||
"narHash": "sha256-tAFX8mPZtZ+zVE/+bwPC3U+u5MxjpNP0gG24DG26jVs=",
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "uv2nix",
|
||||
"rev": "05b0c148bc53aebc6a906b6d0ac41dde5954cd47",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "pyproject-nix",
|
||||
"repo": "uv2nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
|
|
|
|||
|
|
@ -24,6 +24,10 @@
|
|||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
pwndbg = {
|
||||
url = "github:/pwndbg/pwndbg";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
|
|
|
|||
|
|
@ -1,18 +1,25 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
nixpkgs.overlays = [
|
||||
(self: super: {
|
||||
nsxiv = super.nsxiv.overrideAttrs (old: {
|
||||
buildInputs = old.buildInputs ++ [pkgs.xorg.libXcursor];
|
||||
buildInputs = old.buildInputs ++ [super.xorg.libXcursor];
|
||||
env.NIX_LDFLAGS = "-lXcursor";
|
||||
patches = [./nsxiv.diff];
|
||||
});
|
||||
maim = super.maim.overrideAttrs (old: {
|
||||
buildInputs = old.buildInputs ++ [pkgs.xorg.libXcursor];
|
||||
buildInputs = old.buildInputs ++ [super.xorg.libXcursor];
|
||||
env.NIX_LDFLAGS = "-lXcursor";
|
||||
patches = [
|
||||
(super.fetchpatch {
|
||||
name = "maim-c++-17.patch";
|
||||
url = "https://github.com/naelstrof/maim/commit/e7fe09b6734baeb59081b8805be542c92178cf0f.patch";
|
||||
sha256 = "0z9zvrr8msfli88jmhxm5knysi385s48j2w7zpacc7qhf4c5zh8c";
|
||||
})
|
||||
];
|
||||
});
|
||||
ki = super.ki.overrideAttrs (old: {
|
||||
patches = old.patches ++ [./ki.diff];
|
||||
|
|
@ -27,17 +34,18 @@
|
|||
lib.strings.concatLines (front ++ [add] ++ back);
|
||||
});
|
||||
cifs-utils = super.cifs-utils.overrideAttrs (old: {
|
||||
buildInputs = lib.lists.remove pkgs.libcap old.buildInputs;
|
||||
buildInputs = lib.lists.remove super.libcap old.buildInputs;
|
||||
});
|
||||
wineWowPackages.stable = pkgs.symlinkJoin {
|
||||
wineWowPackages.stable = super.symlinkJoin {
|
||||
name = "wine";
|
||||
paths = [super.wineWowPackages.stable];
|
||||
buildInputs = [pkgs.makeWrapper];
|
||||
buildInputs = [super.makeWrapper];
|
||||
postBuild = ''
|
||||
wrapProgram $out/bin/wine \
|
||||
--set LC_ALL "ja_JP.UTF-8"
|
||||
'';
|
||||
};
|
||||
pwndbg = inputs.pwndbg.packages.${super.system}.pwndbg;
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,31 +14,24 @@
|
|||
./plasma.nix
|
||||
./security.nix
|
||||
./virt.nix
|
||||
./yubikey.nix
|
||||
../overlays
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
];
|
||||
options.u = {
|
||||
has = {
|
||||
graphical = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description = "enable graphical settings";
|
||||
default = true;
|
||||
};
|
||||
wine = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description = "enable wine settings";
|
||||
default = true;
|
||||
};
|
||||
virt = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description = "enable virt settings";
|
||||
default = true;
|
||||
};
|
||||
container = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description = "enable container settings";
|
||||
default = true;
|
||||
};
|
||||
has = let
|
||||
mkOpt = name:
|
||||
lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
description = "enable ${name}";
|
||||
default = true;
|
||||
};
|
||||
in {
|
||||
graphical = mkOpt "graphical";
|
||||
wine = mkOpt "wine";
|
||||
virt = mkOpt "virt";
|
||||
container = mkOpt "container";
|
||||
yubikey = mkOpt "yubikey";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
25
system/yubikey.nix
Normal file
25
system/yubikey.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
lib.mkIf config.u.has.yubikey {
|
||||
environment.systemPackages = [
|
||||
pkgs.yubikey-manager
|
||||
pkgs.yubioath-flutter
|
||||
pkgs.pam_u2f
|
||||
];
|
||||
services.pcscd.enable = true;
|
||||
services.udev.packages = [pkgs.yubikey-personalization];
|
||||
services.yubikey-agent.enable = true;
|
||||
security.pam = {
|
||||
u2f = {
|
||||
enable = true;
|
||||
settings.cue = true;
|
||||
};
|
||||
services.login.u2fAuth = false;
|
||||
services.physlock.u2fAuth = false;
|
||||
};
|
||||
programs.yubikey-touch-detector.enable = true;
|
||||
}
|
||||
|
|
@ -18,6 +18,9 @@ lib.mkIf config.u.has.graphical {
|
|||
"safeeyes.service"
|
||||
"snixembed.service"
|
||||
];
|
||||
Requires = [
|
||||
"graphical-session.target"
|
||||
];
|
||||
};
|
||||
};
|
||||
systemd.user.services = {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@ if _exists fzf; then
|
|||
export FZF_DEFAULT_OPTS="--bind=ctrl-u:page-up,ctrl-d:page-down"
|
||||
eval "$(fzf --bash)"
|
||||
fi
|
||||
_exists zoxide && eval "$(zoxide init bash)"
|
||||
|
||||
# use starship prompt, unless in linux terminal
|
||||
if [[ "$TERM" != "linux" ]]; then
|
||||
|
|
@ -67,6 +66,7 @@ else
|
|||
export SHLVL=0
|
||||
fi
|
||||
fi
|
||||
_exists zoxide && eval "$(zoxide init bash)"
|
||||
|
||||
|
||||
# set vi mode
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
ln = config.u.lib.ln "${config.u.confPath}/user/config";
|
||||
in {
|
||||
imports = [
|
||||
./gdb
|
||||
./kde
|
||||
./tmux
|
||||
./mpv
|
||||
|
|
@ -23,11 +24,6 @@ in {
|
|||
xdg.configFile.bash.source = ln "bash";
|
||||
xdg.configFile.fcitx5.source = ./fcitx5;
|
||||
xdg.configFile.fontconfig.source = ./fontconfig;
|
||||
xdg.configFile."gdb/gdbinit.py".source = gdb/gdbinit.py;
|
||||
xdg.configFile."gdb/gdbinit".text = ''
|
||||
source ${pkgs.pwndbg}/share/pwndbg/gdbinit.py
|
||||
source ~/.config/gdb/gdbinit.py
|
||||
'';
|
||||
xdg.configFile.git.source = ./git;
|
||||
xdg.configFile.lazygit.source = ./lazygit;
|
||||
xdg.configFile.lsd.source = ./lsd;
|
||||
|
|
|
|||
7
user/config/gdb/default.nix
Normal file
7
user/config/gdb/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{pkgs, ...}: {
|
||||
xdg.configFile."gdb/gdbinit.py".source = ./gdbinit.py;
|
||||
xdg.configFile."gdb/gdbinit".text = ''
|
||||
source ${pkgs.pwndbg}/share/pwndbg/gdbinit.py
|
||||
source ~/.config/gdb/gdbinit.py
|
||||
'';
|
||||
}
|
||||
|
|
@ -6,6 +6,6 @@ os:
|
|||
edit: "nvim {{filename}}"
|
||||
editAtLine: "nvim {{filename}} +{{line}}"
|
||||
open: "nvim {{filename}}"
|
||||
keybinding:
|
||||
universal:
|
||||
quit: <disabled>
|
||||
git:
|
||||
autoFetch: false
|
||||
autoRefresh: false
|
||||
|
|
|
|||
|
|
@ -46,6 +46,8 @@
|
|||
lua-language-server
|
||||
];
|
||||
withRuby = false;
|
||||
withPython3 = false;
|
||||
withNodeJs = false;
|
||||
};
|
||||
xdg.configFile."nvim/init.lua".text = "require('init')";
|
||||
xdg.configFile."nvim/lua".source = config.u.lib.lnn "user/config/nvim/lua";
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
vim.loader.enable()
|
||||
require('u.options')
|
||||
require('u.plugins')
|
||||
require('u.bindings')
|
||||
|
|
|
|||
|
|
@ -9,3 +9,4 @@ map('n', '<leader>v', '<cmd>vs<cr>', {desc = "split [V]ertical"})
|
|||
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')
|
||||
|
|
|
|||
|
|
@ -49,10 +49,10 @@ require('undotree').setup({
|
|||
['H'] = "nop",
|
||||
}
|
||||
})
|
||||
require('colorizer').setup()
|
||||
require('lazydev').setup()
|
||||
|
||||
require('neorg').setup({
|
||||
lazy_loading = true,
|
||||
load = {
|
||||
["core.defaults"] = {},
|
||||
["core.concealer"] = {},
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
ffsubsync
|
||||
unzip
|
||||
unar
|
||||
keepassxc
|
||||
]
|
||||
++ lib.optionals config.u.has.graphical [
|
||||
(config.u.lib.localHome pkgs.firefox "firefox" "bin/firefox")
|
||||
|
|
|
|||
Loading…
Reference in a new issue