Added brightness and volume scripts to bind to media keys. Still imperfect Refactored to put neovim in its own file, will do the same for others
154 lines
4.4 KiB
Nix
154 lines
4.4 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
home.username = "alice";
|
|
home.homeDirectory = "/home/alice";
|
|
|
|
home.stateVersion = "23.11";
|
|
|
|
# Configure cursor
|
|
home.pointerCursor = {
|
|
package = pkgs.vanilla-dmz;
|
|
name = "Vanilla-DMZ";
|
|
size = 256;
|
|
};
|
|
|
|
# Install packages
|
|
home.packages = with pkgs;
|
|
[ texliveFull ] ++ # TeX distribution
|
|
[ ocaml ] ++ # OCaml
|
|
[ grim slurp wl-clipboard jq ] ++ # Basic utilities
|
|
[ bitwarden-cli ] ++ # Personalized selection of command-line (CLI/TUI) apps
|
|
[ kitty ] ++ # Terminal emulator
|
|
[ firefox cinnamon.nemo gnome.file-roller cinnamon.nemo-fileroller imv vlc pavucontrol grim slurp wl-clipboard ] ++ # Basic graphical apps
|
|
[ libreoffice signal-desktop element-desktop prismlauncher mumble ] ++ # Personalized selection of graphical apps
|
|
[ bemenu j4-dmenu-desktop ] ++ # Sway-related packages
|
|
[ noto-fonts redhat-official-fonts overpass ] ++ # Fonts
|
|
# [ vanilla-dmz ] ++ # Cursor
|
|
[ ];
|
|
|
|
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 = 14;
|
|
};
|
|
};
|
|
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;
|
|
|
|
# fix nemo terminal integration
|
|
dconf.settings."org/cinnamon/desktop/applications/terminal".exec = "kitty";
|
|
|
|
programs.kitty = {
|
|
enable = true;
|
|
font = {
|
|
name = "NotoMono";
|
|
size = 11;
|
|
};
|
|
shellIntegration.enableZshIntegration = true;
|
|
};
|
|
|
|
programs.neovim = import ./programs/neovim.nix;
|
|
|
|
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;
|
|
# };
|
|
}
|