118 lines
3.7 KiB
Nix
118 lines
3.7 KiB
Nix
{config, pkgs, lib, inputs, vars, ...}:{
|
|
imports = [
|
|
#home-manager modules
|
|
inputs.nix-index-database.hmModules.nix-index
|
|
inputs.nixvim.homeManagerModules.default
|
|
inputs.catppuccin.homeModules.catppuccin
|
|
inputs.niri.homeModules.niri
|
|
#aux files to make finding specific things easier
|
|
./theming.nix
|
|
./nixvim
|
|
#./sway.nix
|
|
#./hyprland.nix
|
|
./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;
|
|
sessionVariables = { PASSWORD_STORE_DIR = "$HOME/sync/general/pass"; ELECTRON_OZONE_PLATFORM_HINT = "auto";};
|
|
file = {
|
|
".config/waybar/config".source = (if vars.user == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/terminal" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/modern");
|
|
".config/waybar/style.css".source = (if vars.user == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/terminal.css" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/modern.css");
|
|
};
|
|
};
|
|
programs.home-manager.enable = (!vars.isNixOS); #value is set in flake.nix
|
|
programs.foot = {
|
|
enable = true;
|
|
settings.main.font = (if vars.user == "alyx" then "monospace:size=14" else "monospace:size=10");
|
|
settings.colors.alpha = "0.9";
|
|
};
|
|
programs.ncmpcpp = {
|
|
enable = (vars.class != "handheld");
|
|
settings = {
|
|
tags_separator = ";";
|
|
};
|
|
};
|
|
services.mpd = {
|
|
enable = (vars.class != "handheld");
|
|
musicDirectory = "/home/${vars.user}/Music";
|
|
extraConfig = ''
|
|
audio_output {
|
|
type "pipewire"
|
|
name "default pipewire"
|
|
}
|
|
'';
|
|
};
|
|
services.mpd-mpris = {
|
|
enable = (vars.class != "handheld");
|
|
};
|
|
|
|
services.mpd-discord-rpc.enable = true;
|
|
|
|
services.syncthing.enable = (vars.useSyncthing);
|
|
|
|
programs.waybar = {
|
|
enable = (vars.class != "handheld");
|
|
};
|
|
programs.git = {
|
|
enable = true;
|
|
userName = (if vars.user == "alyx" then "cydiralis" else "beanigen");
|
|
userEmail = (if vars.user == "alyx" then "cydiralis@proton.me" else "beanigit@protonmail.com");
|
|
extraConfig = {
|
|
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 = "maya-desktop";
|
|
profile.outputs = [
|
|
{ criteria = "Dell Inc. DELL P2411H MGMHG1681VAU"; position = "0,1050"; }
|
|
{ criteria = "Samsung Electric Company SyncMaster HMDQ202016"; position = "0,0"; }
|
|
];
|
|
}
|
|
{
|
|
profile.name = "alyx-desktop";
|
|
profile.outputs = [
|
|
{ criteria = "ASUSTek COMPUTER INC VG279QM NCLMQS055707"; position = "2560,0"; mode = "1920x1080@239.760"; }
|
|
{ criteria = "Dell Inc. DELL U2913WM 5YD8C5A9AZSL"; position = "0,0"; mode = "2560x1080@74.987"; }
|
|
{ criteria = "Valve Corporation Index HMD 0xEDE55842"; status = "disable"; }
|
|
];
|
|
}
|
|
];
|
|
};
|
|
|
|
programs.obs-studio = {
|
|
enable = true;
|
|
plugins = with pkgs.obs-studio-plugins; [
|
|
wlrobs
|
|
obs-backgroundremoval
|
|
obs-pipewire-audio-capture
|
|
];
|
|
};
|
|
}
|
|
|