371 lines
7.9 KiB
Nix
371 lines
7.9 KiB
Nix
# This is your home-manager configuration file
|
|
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
|
|
{
|
|
inputs,
|
|
pkgs,
|
|
lib,
|
|
...
|
|
}: {
|
|
# You can import other home-manager modules here
|
|
imports = [
|
|
# If you want to use modules your own flake exports (from modules/home-manager):
|
|
# outputs.homeManagerModules.example
|
|
|
|
# Or modules exported from other flakes (such as nix-colors):
|
|
# inputs.nix-colors.homeManagerModules.default
|
|
|
|
# You can also split up your configuration and import pieces of it here:
|
|
./neovim-flake.nix
|
|
./arrpc.nix
|
|
];
|
|
|
|
home = {
|
|
username = "floppydisk";
|
|
homeDirectory = "/home/floppydisk";
|
|
packages = with pkgs; [
|
|
# Utils
|
|
handbrake
|
|
thunderbird
|
|
picard
|
|
realvnc-vnc-viewer
|
|
rpi-imager
|
|
obs-studio
|
|
yt-dlp
|
|
_1password-gui
|
|
_1password
|
|
git-credential-1password
|
|
firefox-devedition
|
|
inputs.arrpc.packages.${pkgs.system}.arrpc
|
|
rdesktop
|
|
_3llo
|
|
gimp
|
|
qemu
|
|
virt-manager
|
|
exactaudiocopy
|
|
fsv
|
|
lsd
|
|
lsdvd
|
|
thefuck
|
|
zip
|
|
unzip
|
|
notion-app-enhanced
|
|
libresprite
|
|
qbittorrent
|
|
wine
|
|
vifm
|
|
cloudflared
|
|
ansible
|
|
just
|
|
pwgen
|
|
grafx2
|
|
libreoffice-fresh
|
|
|
|
# Fetch
|
|
neofetch
|
|
yafetch
|
|
cpufetch
|
|
bunnyfetch
|
|
nitch
|
|
screenfetch
|
|
starfetch
|
|
|
|
# DevTools
|
|
github-desktop
|
|
gh
|
|
codeql
|
|
vscode
|
|
jetbrains.ruby-mine
|
|
jetbrains.rider
|
|
jetbrains.phpstorm
|
|
jetbrains.idea-ultimate
|
|
jetbrains.webstorm
|
|
lazygit
|
|
wakatime
|
|
mongodb-compass
|
|
mongosh
|
|
httpie
|
|
ngrok
|
|
mycli
|
|
squirrel-sql
|
|
figma-linux
|
|
|
|
# Langs
|
|
openscad
|
|
nodejs_18
|
|
nodePackages.yarn
|
|
nodePackages.ts-node
|
|
nodePackages.pnpm
|
|
php82
|
|
php82Packages.composer
|
|
deno
|
|
python310
|
|
python310Packages.pip
|
|
python310Packages.discordpy
|
|
dotnet-sdk
|
|
jdk17
|
|
maven
|
|
dart
|
|
purescript
|
|
spago
|
|
|
|
# Comms
|
|
nheko
|
|
element-desktop
|
|
(discord.override {
|
|
withOpenASAR = true;
|
|
withVencord = true;
|
|
})
|
|
caprine-bin
|
|
teamspeak5_client
|
|
|
|
# Gaming
|
|
rpcs3
|
|
pcsxr
|
|
pcsx2
|
|
steam
|
|
gzdoom
|
|
minecraft
|
|
dolphin-emu
|
|
prismlauncher
|
|
fceux
|
|
snes9x
|
|
heroic
|
|
openrct2
|
|
osu-lazer-bin
|
|
|
|
# Media
|
|
vlc
|
|
libsForQt5.vvave
|
|
tidal-hifi
|
|
|
|
# zsh Themes
|
|
zsh-powerlevel10k
|
|
];
|
|
};
|
|
|
|
# Add stuff for your user as you see fit:
|
|
programs = {
|
|
# Enable home-manager
|
|
home-manager.enable = true;
|
|
|
|
# Enable z-shell
|
|
zsh = {
|
|
enable = true;
|
|
shellAliases = {
|
|
ls = "lsd";
|
|
ll = "ls -l";
|
|
la = "ls -la";
|
|
};
|
|
history = {
|
|
size = 10000;
|
|
path = "$HOME/.config/zsh/history";
|
|
};
|
|
oh-my-zsh = {
|
|
enable = true;
|
|
plugins = [
|
|
"git"
|
|
"thefuck"
|
|
];
|
|
custom = "$HOME/.oh-my-custom";
|
|
theme = "powerlevel10k/powerlevel10k";
|
|
};
|
|
plugins = [
|
|
{
|
|
name = "powerlevel10k";
|
|
src = pkgs.zsh-powerlevel10k;
|
|
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
|
|
}
|
|
];
|
|
initExtra = ''
|
|
source ~/.p10k.zsh
|
|
'';
|
|
};
|
|
|
|
# enable git and configure users
|
|
git = {
|
|
enable = true;
|
|
userName = "Frankie B.";
|
|
userEmail = "git@diskfloppy.me";
|
|
extraConfig = {
|
|
# Sign all commits using ssh key
|
|
commit.gpgsign = true;
|
|
gpg.format = "ssh";
|
|
user.signingkey = "~/.ssh/id_ed25519.pub";
|
|
init.defaultBranch = "master";
|
|
};
|
|
};
|
|
|
|
irssi = {
|
|
enable = true;
|
|
networks = {
|
|
znc = {
|
|
nick = "floppydisk";
|
|
server = {
|
|
address = "irc.nick99nack.com";
|
|
port = 8888;
|
|
autoConnect = true;
|
|
ssl.enable = false;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
settings = {
|
|
"env" = "XCURSOR_SIZE,24";
|
|
|
|
"$mod" = "SUPER";
|
|
|
|
exec-once = [
|
|
"arRPC"
|
|
"hyprpaper"
|
|
"nm-applet --indicator"
|
|
"waybar"
|
|
"swaync"
|
|
"1password --silent"
|
|
];
|
|
|
|
monitor = [
|
|
"DP-1,1600x900,0x0,1"
|
|
"HDMI-A-1,1280x1024,1600x0,1"
|
|
];
|
|
|
|
input = {
|
|
kb_layout = "us";
|
|
follow_mouse = 1;
|
|
touchpad.natural_scroll = "no";
|
|
sensitivity = 0;
|
|
};
|
|
|
|
general = {
|
|
gaps_in = 5;
|
|
gaps_out = 20;
|
|
border_size = 2;
|
|
"col.active_border" = "rgba(33ccffee) rgba(00ff99ee) 45deg";
|
|
"col.inactive_border" = "rgba(595959aa)";
|
|
layout = "dwindle";
|
|
};
|
|
|
|
decoration = {
|
|
blur = {
|
|
enabled = true;
|
|
size = 3;
|
|
passes = 1;
|
|
new_optimizations = 1;
|
|
};
|
|
drop_shadow = "yes";
|
|
shadow_range = 20;
|
|
shadow_render_power = 5;
|
|
"col.shadow" = "rgba(1a1a1aee)";
|
|
};
|
|
|
|
animations = {
|
|
enabled = true;
|
|
animation = [
|
|
"windows, 1, 7, default"
|
|
"windowsOut, 1, 7, default, popin 80%"
|
|
"border, 1, 10, default"
|
|
"borderangle, 1, 8, default"
|
|
"fade, 1, 7, default"
|
|
"workspaces, 1, 6, default"
|
|
];
|
|
};
|
|
|
|
dwindle = {
|
|
pseudotile = true;
|
|
preserve_split = "yes";
|
|
};
|
|
|
|
master = {
|
|
new_is_master = true;
|
|
};
|
|
|
|
gestures = {
|
|
workspace_swipe = false;
|
|
};
|
|
|
|
"general:resize_on_border" = "true";
|
|
|
|
bindm = [
|
|
# mouse binds
|
|
"ALT,mouse:272,movewindow"
|
|
];
|
|
|
|
binde = [
|
|
# volume controls
|
|
", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%+"
|
|
", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.4 @DEFAULT_AUDIO_SINK@ 5%-"
|
|
];
|
|
|
|
bind = [
|
|
# mute key
|
|
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
|
|
|
# general shortcuts
|
|
"$mod, Q, exec, kitty"
|
|
"$mod, C, killactive, "
|
|
"$mod, M, exit, "
|
|
"$mod, V, togglefloating, "
|
|
"$mod, P, pseudo,"
|
|
"$mod, J, togglesplit,"
|
|
|
|
"$mod, E, exec, wlogout -p layer-shell"
|
|
"SUPERSHIFT,n,exec,swaync-client -t -sw"
|
|
|
|
# move windows
|
|
"$mod SHIFT, H, movewindow, l"
|
|
"$mod SHIFT, L, movewindow, r"
|
|
"$mod SHIFT, K, movewindow, u"
|
|
"$mod SHIFT, J, movewindow, d"
|
|
|
|
# screenshot
|
|
", Print, exec, grim -l 9 -g \"$(slurp)\" - | wl-copy"
|
|
|
|
# rofi
|
|
"$mod, D, exec, rofi -show drun --show-icons"
|
|
|
|
# workspace scroll
|
|
"$mod, mouse_down, workspace, e+1"
|
|
|
|
# move active window to workspace
|
|
"$mod SHIFT, 1, movetoworkspace, 1"
|
|
"$mod SHIFT, 2, movetoworkspace, 2"
|
|
"$mod SHIFT, 3, movetoworkspace, 3"
|
|
"$mod SHIFT, 4, movetoworkspace, 4"
|
|
"$mod SHIFT, 5, movetoworkspace, 5"
|
|
"$mod SHIFT, 6, movetoworkspace, 6"
|
|
"$mod SHIFT, 7, movetoworkspace, 7"
|
|
"$mod SHIFT, 8, movetoworkspace, 8"
|
|
"$mod SHIFT, 9, movetoworkspace, 9"
|
|
"$mod SHIFT, 0, movetoworkspace, 10"
|
|
|
|
# switch workspace
|
|
"$mod, 1, workspace, 1"
|
|
"$mod, 2, workspace, 2"
|
|
"$mod, 3, workspace, 3"
|
|
"$mod, 4, workspace, 4"
|
|
"$mod, 5, workspace, 5"
|
|
"$mod, 6, workspace, 6"
|
|
"$mod, 7, workspace, 7"
|
|
"$mod, 8, workspace, 8"
|
|
"$mod, 9, workspace, 9"
|
|
"$mod, 0, workspace, 10"
|
|
|
|
# move window focus
|
|
"$mod, left, movefocus, l"
|
|
"$mod, right, movefocus, r"
|
|
"$mod, up, movefocus, u"
|
|
"$mod, down, movefocus, d"
|
|
];
|
|
};
|
|
};
|
|
|
|
# Nicely reload system units when changing configs
|
|
systemd.user.startServices = "sd-switch";
|
|
|
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
|
home.stateVersion = "22.11";
|
|
}
|