shorkie-flake/home/default.nix
2025-11-22 06:03:55 +00:00

109 lines
2.6 KiB
Nix

{config, pkgs, lib, inputs, vars, ...}:{
imports = [
#aux files to make finding specific things easier
# ./theming.nix
./nixvim
./niri.nix
./packages.nix #general user packages not managed by home-manager but i want to install via hm anyways
];
home = rec {
username = vars.user; #this is set in flake.nix
homeDirectory = "/home/${username}"; #change this if you use a non-standard home dir
stateVersion = "23.11";
shell.enableBashIntegration = true;
file = {
".config/waybar/config".source = config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/terminal";
".config/waybar/style.css".source = config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/terminal.css";
};
};
programs.home-manager.enable = true;
programs.foot = {
enable = true;
settings.main.font = "monospace:size=20";
settings.colors.alpha = "0.9";
};
programs.ncmpcpp = {
enable = true;
settings = {
tags_separator = ";";
};
};
services.mpd = {
enable = true;
musicDirectory = "/home/${vars.user}/Music";
extraConfig = ''
audio_output {
type "pipewire"
name "default pipewire"
}
'';
};
services.mpd-mpris = {
enable = true;
};
services.mpd-discord-rpc.enable = true;
programs.waybar = {
enable = true;
};
programs.git = {
enable = true;
settings = {
user.name = vars.user;
user.email = "cydiralis@proton.me";
commit.gpgsign = true;
gpg.format = "ssh";
user.signingKey = "~/.ssh/id_ed25519.pub";
init.defaultBranch = "main";
};
};
programs.irssi = {
enable = true;
networks = {
classicconnect = {
nick = vars.user;
server = {
address = "irc.classicconnect.net";
port = 6677;
autoConnect = true;
};
channels = {
nick.autoJoin = true;
};
};
};
};
services.kanshi = {
enable = true;
settings = [
{
profile.name = "alyx-desktop";
profile.outputs = [
{ criteria = "Microstep MSI G273Q CA8A463100033"; position = "2560,0"; mode = "2560x1440@164.835007"; }
{ criteria = "Valve Corporation Index HMD 0xEDE55842"; status = "disable"; }
];
}
{
profile.name = "steamdeck";
profile.outputs = [
{ criteria = "Valve Corporation ANX7530 U 0x00000001"; transform = "270"; scale = 1.0; }
];
}
];
};
programs.obs-studio = {
enable = true;
# plugins = with pkgs.obs-studio-plugins; [
# wlrobs
# obs-backgroundremoval
# obs-pipewire-audio-capture
# ];
};
}