147 lines
2.8 KiB
Nix
147 lines
2.8 KiB
Nix
{config, pkgs, ... }:
|
|
let
|
|
xremap-niri = pkgs.rustPlatform.buildRustPackage rec {
|
|
pname = "xremap";
|
|
version = "0.15.11";
|
|
|
|
src = pkgs.fetchFromGitHub {
|
|
owner = "xremap";
|
|
repo = "xremap";
|
|
rev = "v${version}";
|
|
hash = "sha256-N5JItxzg0nU9hsW+fOEJ9FHiq6L0rt8jXvieefuHc5k=";
|
|
};
|
|
|
|
cargoHash = "sha256-45YN1ZjM485phmvMNOna/hXE+EorZcz3xLpTVZIWZn8=";
|
|
|
|
buildFeatures = [ "niri" ];
|
|
};
|
|
in
|
|
{
|
|
imports = [
|
|
../shell/shell.nix
|
|
../neovim/neovim.nix
|
|
./firefox/firefox.nix
|
|
./theme/theme.nix
|
|
./fuzzel.nix
|
|
./mako.nix
|
|
];
|
|
home.username = "aselimov";
|
|
home.homeDirectory = "/home/aselimov";
|
|
home.stateVersion = "26.05";
|
|
|
|
programs.home-manager.enable = true;
|
|
programs.ghostty.enable = true;
|
|
programs.mpv = {
|
|
enable = true;
|
|
|
|
config = {
|
|
save-position-on-quit = true;
|
|
cache = true;
|
|
demuxer-max-bytes = "500MiB";
|
|
demuxer-max-back-bytes = "200MiB";
|
|
demuxer-readahead-secs = 300;
|
|
hr-seek = false;
|
|
ytdl-format="bestvideo[vcodec^=avc1]+bestaudio/best";
|
|
gpu-context = "wayland";
|
|
};
|
|
};
|
|
home.packages = with pkgs; [
|
|
ripgrep
|
|
waybar
|
|
mako
|
|
wl-clipboard
|
|
pavucontrol
|
|
xremap-niri
|
|
zip
|
|
unzip
|
|
glib
|
|
jujutsu
|
|
gnupg
|
|
codex
|
|
awww
|
|
imv
|
|
yt-dlp
|
|
pass
|
|
dino
|
|
wtype
|
|
libnotify
|
|
];
|
|
home.pointerCursor = {
|
|
enable = true;
|
|
package = pkgs.phinger-cursors;
|
|
name = "phinger-cursors-dark";
|
|
size = 16;
|
|
|
|
gtk.enable = true;
|
|
};
|
|
gtk = {
|
|
enable = true;
|
|
|
|
theme = {
|
|
name = "Adwaita";
|
|
package = pkgs.gnome-themes-extra;
|
|
};
|
|
};
|
|
|
|
dconf.enable = true;
|
|
|
|
xdg.configFile."niri/config.kdl".source = ./niri/config.kdl;
|
|
xdg.configFile."ghostty" = {
|
|
source = ./ghostty;
|
|
recursive = true;
|
|
};
|
|
xdg.configFile."waybar" = {
|
|
source = ./waybar;
|
|
recursive = true;
|
|
};
|
|
|
|
xdg.configFile."xremap/config.yml".source = ./xremap.yml;
|
|
|
|
home.sessionPath = [
|
|
"$HOME/bin"
|
|
];
|
|
|
|
systemd.user.services.xremap = {
|
|
Unit = {
|
|
Description = "xremap";
|
|
};
|
|
|
|
Service = {
|
|
ExecStart =
|
|
"${xremap-niri}/bin/xremap --watch --ignore 'AT Translated Set 2 keyboard' %h/.config/xremap/config.yml";
|
|
|
|
Restart = "on-failure";
|
|
RestartSec = 1;
|
|
};
|
|
};
|
|
|
|
services.gpg-agent = {
|
|
enable = true;
|
|
|
|
pinentry.package = pkgs.pinentry-gnome3;
|
|
|
|
defaultCacheTtl = 86400;
|
|
maxCacheTtl = 86400;
|
|
};
|
|
|
|
home.file."bin/passmenu" = {
|
|
executable= true;
|
|
text = ''
|
|
#!/bin/sh
|
|
|
|
prefix="$HOME/.password-store"
|
|
|
|
password_file="$(
|
|
find "$prefix" -type f -name '*.gpg' |
|
|
sed "s|^$prefix/||; s|\.gpg$||" |
|
|
fuzzel --dmenu
|
|
)"
|
|
|
|
[ -n "$password_file" ] || exit
|
|
|
|
pass show "$password_file" | head -n1 | wtype -
|
|
'';
|
|
};
|
|
|
|
home.file."bin/volume.sh".source = ./scripts/volume.sh;
|
|
}
|