nix-dotfiles/home.nix

143 lines
3.9 KiB
Nix

{ config, lib, pkgs, ... }:
{
home.username = "alice";
home.homeDirectory = "/home/alice";
home.stateVersion = "23.11";
home.packages = with pkgs;
[ texliveFull ] ++ # TeX distribution
[ kitty ] ++ # Terminal emulator
[ firefox cinnamon.nemo gnome.file-roller cinnamon.nemo-fileroller pavucontrol ] ++ # Basic graphical apps
[ signal-desktop prismlauncher ] ++ # Personalized selection of graphical apps
[ bemenu j4-dmenu-desktop ] ++ # Sway-related packages
[ noto-fonts redhat-official-fonts overpass ]; # Fonts
programs.home-manager.enable = true;
# Enabling bash from home-manager means environment variables set by HM get set correctly
programs.bash = {
enable = true;
# initExtra = ''
# . "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
# '';
};
programs.git = {
enable = true;
extraConfig = { init.defaultBranch = "main"; };
};
wayland.windowManager.sway = import ./wayland/sway.nix { inherit config lib pkgs; };
programs.swaylock = {
enable = true;
settings = {
font-size = 11;
};
};
services.swayidle = {
enable = true;
events = [
{ event = "before-sleep"; command = "${pkgs.lib.getExe pkgs.swaylock} -f"; }
];
};
# programs.waybar = import ./wayland/waybar.nix { inherit config lib pkgs; };
# configure fonts correctly
fonts.fontconfig.enable = true;
xdg.configFile."fontconfig/conf.d/20-default.fonts.conf".source = ./config/20-default-fonts.conf;
programs.kitty = {
enable = true;
font = {
name = "NotoMono";
size = 11;
};
shellIntegration.enableZshIntegration = true;
};
programs.neovim = {
enable = true;
defaultEditor = true;
viAlias = true;
vimAlias = true;
};
programs.zathura = {
enable = true;
};
programs.firefox = {
enable = true;
profiles = {
default = {
id = 0;
name = "Main Profile";
isDefault = true;
search = {
force = true;
default = "DuckDuckGo";
order = [ "DuckDuckGo" "Google" ];
engines = {
"Nix Packages" = {
urls = [{
template = "https://search.nixos.org/packages";
params = [
{ name = "type"; value = "packages"; }
{ name = "query"; value = "{searchTerms}"; }
];
}];
icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@np" ];
};
"NixOS Options" = {
urls = [{
template = "https://search.nixos.org/options";
params = [
{ name = "type"; value = "options"; }
{ name = "query"; value = "{searchTerms}"; }
];
}];
icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@no" ];
};
"NixOS Wiki" = {
urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }];
iconUpdateURL = "https://nixos.wiki/favicon.png";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = [ "@nw" ];
};
"HomeManager Unofficial Options" = {
urls = [{
template = "https://mipmip.github.io/home-manager-option-search";
params = [
{ name = "query"; value = "{searchTerms}"; }
];
}];
icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@hm" ];
};
"Google".metaData.alias = "@g"; #builtin engines only support specifying one additional alias
};
};
# extensions = with pkgs.nur.repos.rycee.firefox-addons; [
# ublock-origin
# bitwarden
# multi-account-containers
# ];
settings = {
"browser.search.region" = "CA";
"browser.search.isUS" = false;
};
};
};
};
# programs.thunderbird = {
# enable = true;
# };
}