2025-06-20 11:59:24 -07:00
|
|
|
# i3 config
|
|
|
|
{ config, pkgs, lib, ... }: {
|
|
|
|
|
|
|
|
imports = [ ./02_gui_base_apps.nix ];
|
|
|
|
|
|
|
|
config = {
|
|
|
|
|
|
|
|
users.users.${config.user} = {
|
|
|
|
extraGroups = [ "networkmanager" ];
|
|
|
|
};
|
|
|
|
|
|
|
|
security.pam.services.i3lock.enable = true;
|
2025-08-12 11:58:29 -07:00
|
|
|
networking.networkmanager = {
|
|
|
|
enable = true;
|
|
|
|
plugins = [ pkgs.networkmanager-openvpn ];
|
|
|
|
};
|
2025-06-20 11:59:24 -07:00
|
|
|
home-manager.users.${config.user} = { pkgs, config, ... }: {
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
xorg.setxkbmap
|
|
|
|
xbindkeys
|
|
|
|
xdotool
|
|
|
|
networkmanagerapplet
|
|
|
|
arandr
|
|
|
|
volumeicon
|
|
|
|
xclip
|
|
|
|
feh
|
|
|
|
xorg.xev
|
|
|
|
xfce.xfce4-screenshooter
|
|
|
|
];
|
|
|
|
|
|
|
|
programs.rofi = {
|
|
|
|
enable = true;
|
|
|
|
plugins = with pkgs; [
|
|
|
|
rofi-calc
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
|
|
|
xdg.configFile.i3 = {
|
|
|
|
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nixos/dotfiles/i3";
|
|
|
|
};
|
|
|
|
|
|
|
|
xdg.configFile.i3blocks = {
|
|
|
|
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nixos/dotfiles/i3blocks";
|
|
|
|
};
|
|
|
|
|
|
|
|
xdg.configFile.volumeicon = {
|
|
|
|
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nixos/dotfiles/volumeicon";
|
|
|
|
};
|
|
|
|
|
|
|
|
home.file.".xbindkeysrc" = {
|
|
|
|
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nixos/dotfiles/xbindkeys/xbindkeysrc";
|
|
|
|
};
|
|
|
|
|
|
|
|
xdg.configFile."gtk-3.0" = {
|
|
|
|
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nixos/dotfiles/gtk-3.0";
|
|
|
|
};
|
|
|
|
|
|
|
|
home.file.".xprofile" = {
|
|
|
|
source = ../../dotfiles/xprofile/xprofile;
|
|
|
|
};
|
|
|
|
|
|
|
|
home.file.".config/Thunar/uca.xml" = {
|
|
|
|
source = ../../dotfiles/thunar/uca.xml;
|
|
|
|
};
|
|
|
|
|
|
|
|
home.file.".config/xfce4/xfconf/xfce-perchannel-xml" = {
|
|
|
|
recursive = true;
|
|
|
|
source = ../../dotfiles/xfce-perchannel-xml;
|
|
|
|
};
|
|
|
|
|
|
|
|
home.file = {
|
|
|
|
".Xresources" = {
|
|
|
|
text = ''
|
|
|
|
Xcursor.size: 16
|
|
|
|
'';
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
services = {
|
|
|
|
displayManager = {
|
|
|
|
defaultSession = "xfce+i3"; # move this to host specific config?
|
|
|
|
};
|
|
|
|
|
|
|
|
xserver = {
|
|
|
|
enable = true;
|
|
|
|
xkb.layout = "us";
|
|
|
|
|
|
|
|
desktopManager = {
|
|
|
|
xterm.enable = false;
|
|
|
|
xfce = {
|
|
|
|
enable = true;
|
|
|
|
noDesktop = true;
|
|
|
|
enableXfwm = false;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
windowManager = {
|
|
|
|
i3 = {
|
|
|
|
enable = true;
|
|
|
|
extraPackages = with pkgs; [
|
|
|
|
i3status
|
|
|
|
i3lock
|
|
|
|
i3blocks
|
|
|
|
rofi
|
|
|
|
];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
pulseaudio.enable = false;
|
|
|
|
pipewire = {
|
|
|
|
enable = true;
|
|
|
|
alsa.enable = true;
|
|
|
|
alsa.support32Bit = true;
|
|
|
|
pulse.enable = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
security.rtkit.enable = true; # needed for pipewire/PA
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|