2024-07-18 04:08:27 +00:00
|
|
|
|
{ lib, pkgs, config, ... }:
|
|
|
|
|
|
|
|
|
|
let
|
|
|
|
|
# Theming constants
|
|
|
|
|
colors = config.lib.stylix.colors;
|
|
|
|
|
fonts = config.stylix.fonts;
|
|
|
|
|
borderSize = 1;
|
|
|
|
|
windowPadding = 2;
|
|
|
|
|
|
|
|
|
|
waylockOptions = "-init-color 0x${colors.base00} -input-color 0x${colors.base02} -fail-color 0x${colors.base00}";
|
|
|
|
|
in {
|
|
|
|
|
# Extra modules
|
|
|
|
|
imports = [
|
|
|
|
|
# nixvim.homeManagerModules.nixvim
|
|
|
|
|
# stylix.homeManagerModules.stylix
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
# Packages
|
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
|
# Programs
|
2024-07-18 11:48:49 +00:00
|
|
|
|
# vscode
|
|
|
|
|
# feishin
|
|
|
|
|
# discord
|
|
|
|
|
# obsidian
|
|
|
|
|
# winbox
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# Utilities
|
2024-07-19 01:34:42 +00:00
|
|
|
|
# pulsemixer
|
2024-07-18 04:08:27 +00:00
|
|
|
|
# waylock
|
2024-07-19 01:34:42 +00:00
|
|
|
|
# playerctl
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# Fish plugin dependencies
|
|
|
|
|
# grc
|
|
|
|
|
# fzf
|
|
|
|
|
|
|
|
|
|
# Rust development
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# rustc
|
|
|
|
|
# cargo
|
|
|
|
|
# rustfmt
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# Bitwarden
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# rofi-rbw
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# LaTeX libraries
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# (pkgs.texlive.combine {
|
|
|
|
|
# inherit (pkgs.texlive) scheme-full;
|
|
|
|
|
# })
|
2024-07-18 04:08:27 +00:00
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
# Stylix
|
|
|
|
|
stylix = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# polarity = "dark";
|
|
|
|
|
|
|
|
|
|
# base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# fonts = {
|
|
|
|
|
# # monospace = {
|
|
|
|
|
# # package = pkgs.dina-font;
|
|
|
|
|
# # name = "Dina";
|
|
|
|
|
# # };
|
|
|
|
|
|
|
|
|
|
# sizes = {
|
|
|
|
|
# terminal = 9;
|
|
|
|
|
# };
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# autoEnable = false;
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# targets = {
|
|
|
|
|
# foot.enable = true;
|
|
|
|
|
# nixvim.enable = true;
|
|
|
|
|
# qutebrowser.enable = true;
|
|
|
|
|
# vscode.enable = true;
|
|
|
|
|
# # zathura.enable = true;
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
# Fish shell
|
|
|
|
|
# programs.fish = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
|
|
|
|
|
# plugins = [
|
|
|
|
|
# { name = "done"; src = pkgs.fishPlugins.done.src; }
|
|
|
|
|
# { name = "fzf"; src = pkgs.fishPlugins.fzf-fish.src; }
|
|
|
|
|
# { name = "grc"; src = pkgs.fishPlugins.grc.src; }
|
|
|
|
|
# ];
|
|
|
|
|
# };
|
|
|
|
|
|
|
|
|
|
# # Bash prompt
|
|
|
|
|
# programs.bash = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# initExtra = ''
|
|
|
|
|
# if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
|
|
|
|
# then
|
|
|
|
|
# shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION=""
|
|
|
|
|
# exec ${pkgs.fish}/bin/fish $LOGIN_OPTION
|
|
|
|
|
# fi
|
|
|
|
|
# '';
|
|
|
|
|
# bashrcExtra = ''
|
|
|
|
|
# FG_BLACK="\[$(tput setaf 0)\]"
|
|
|
|
|
# FG_RED="\[$(tput setaf 1)\]"
|
|
|
|
|
# FG_GREEN="\[$(tput setaf 2)\]"
|
|
|
|
|
# FG_YELLOW="\[$(tput setaf 3)\]"
|
|
|
|
|
# FG_BLUE="\[$(tput setaf 4)\]"
|
|
|
|
|
# FG_MAGENTA="\[$(tput setaf 5)\]"
|
|
|
|
|
# FG_CYAN="\[$(tput setaf 6)\]"
|
|
|
|
|
# FG_WHITE="\[$(tput setaf 7)\]"
|
|
|
|
|
|
|
|
|
|
# RESET="\[$(tput sgr0)\]"
|
|
|
|
|
|
|
|
|
|
# export PS0="\n''${RESET}"
|
|
|
|
|
# export PS1="''${FG_GREEN}\n│\w\n│"
|
|
|
|
|
# export PS2="│"
|
|
|
|
|
# '';
|
|
|
|
|
# };
|
|
|
|
|
|
|
|
|
|
# Direnv setup
|
2024-07-19 01:34:42 +00:00
|
|
|
|
# programs.direnv = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# nix-direnv.enable = true;
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# Qutebrowser
|
2024-07-19 01:34:42 +00:00
|
|
|
|
# programs.qutebrowser = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
|
|
|
|
|
# extraConfig = ''
|
|
|
|
|
# config.set("colors.webpage.darkmode.enabled", False)
|
|
|
|
|
# config.set("colors.webpage.preferred_color_scheme", "dark")
|
|
|
|
|
# config.set("fonts.default_family", "${fonts.monospace.name}")
|
|
|
|
|
# config.set("fonts.default_size", "${toString fonts.sizes.terminal}pt")
|
|
|
|
|
# '';
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# Bitwarden client
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# programs.rbw = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# settings = {
|
|
|
|
|
# base_url = "https://keys.bulthuis.dev";
|
|
|
|
|
# identity_url = "https://keys.bulthuis.dev";
|
|
|
|
|
# email = "jan@bulthuis.dev";
|
|
|
|
|
# pinentry = pkgs.pinentry;
|
|
|
|
|
# };
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# Firefox
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# programs.firefox = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# policies = {
|
|
|
|
|
# AppAutoUpdate = false;
|
|
|
|
|
# BlockAboutAddons = true;
|
|
|
|
|
# BlockAboutConfig = true;
|
|
|
|
|
# BlockAboutProfiles = true;
|
|
|
|
|
# DisableAppUpdate = true;
|
|
|
|
|
# DisableFeedbackCommands = true;
|
|
|
|
|
# DisableMasterPasswordCreation = true;
|
|
|
|
|
# DisablePocket = true;
|
|
|
|
|
# DisableProfileImport = true;
|
|
|
|
|
# DisableProfileRefresh = true;
|
|
|
|
|
# DisableSetDesktopBackground = true;
|
|
|
|
|
# DisableTelemetry = true;
|
|
|
|
|
# DisplayBookmarksToolbar = "never";
|
|
|
|
|
# DisplayMenuBar = "never";
|
|
|
|
|
# DNSOverHTTPS = { Enabled = false; };
|
|
|
|
|
# DontCheckDefaultBrowser = true;
|
|
|
|
|
# PasswordManagerEnabled = false;
|
|
|
|
|
# TranslateEnabled = true;
|
|
|
|
|
# UseSystemPrintDialog = true;
|
|
|
|
|
# };
|
|
|
|
|
# profiles.nixos = {
|
|
|
|
|
# search.default = "DuckDuckGo";
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
|
|
|
# ublock-origin
|
|
|
|
|
# ];
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# settings = {
|
|
|
|
|
# "browser.tabs.inTitlebar" = 0;
|
|
|
|
|
# "extensions.autoDisableScopes" = 0;
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# # Force overwriting configuration file
|
|
|
|
|
# search.force = true;
|
|
|
|
|
# containersForce = true;
|
|
|
|
|
# };
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# # Email setup
|
|
|
|
|
# accounts.email.accounts = {
|
|
|
|
|
# Personal = {
|
|
|
|
|
# primary = true;
|
|
|
|
|
# realName = "Jan Bulthuis";
|
|
|
|
|
# userName = "jan@bulthuis.dev";
|
|
|
|
|
# address = "jan@bulthuis.dev";
|
|
|
|
|
# thunderbird.enable = true;
|
|
|
|
|
|
|
|
|
|
# flavor = "plain";
|
|
|
|
|
# imap = {
|
|
|
|
|
# host = "mail.bulthuis.dev";
|
|
|
|
|
# port = 993;
|
|
|
|
|
# };
|
|
|
|
|
# smtp = {
|
|
|
|
|
# host = "mail.bulthuis.dev";
|
|
|
|
|
# port = 465;
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# # Thunderbird setup
|
|
|
|
|
# programs.thunderbird = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# profiles.nixos = {
|
|
|
|
|
# isDefault = true;
|
|
|
|
|
# };
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# Rofi setup
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# programs.rofi = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# package = pkgs.rofi-wayland;
|
|
|
|
|
# font = "${fonts.monospace.name} ${toString fonts.sizes.terminal}";
|
|
|
|
|
# theme = let
|
|
|
|
|
# inherit (config.lib.formats.rasi) mkLiteral;
|
|
|
|
|
# in {
|
|
|
|
|
# "*" = {
|
|
|
|
|
# background-color = mkLiteral "rgba(0, 0, 0, 0%)";
|
|
|
|
|
# border-color = mkLiteral colors.withHashtag.base05;
|
|
|
|
|
# text-color = mkLiteral colors.withHashtag.base05;
|
|
|
|
|
# };
|
|
|
|
|
# mainbox = {
|
|
|
|
|
# background-color = mkLiteral colors.withHashtag.base00;
|
|
|
|
|
# border = mkLiteral "${toString borderSize}px";
|
|
|
|
|
# };
|
|
|
|
|
# element-text = {
|
|
|
|
|
# highlight = mkLiteral colors.withHashtag.base09;
|
|
|
|
|
# };
|
|
|
|
|
# inputbar = {
|
|
|
|
|
# children = mkLiteral "[textbox-search, entry]";
|
|
|
|
|
# };
|
|
|
|
|
# listview = {
|
|
|
|
|
# padding = mkLiteral "2px 0px";
|
|
|
|
|
# };
|
|
|
|
|
# textbox-search = {
|
|
|
|
|
# expand = false;
|
|
|
|
|
# content = "> ";
|
|
|
|
|
# };
|
|
|
|
|
# "inputbar, message" = {
|
|
|
|
|
# padding = mkLiteral "2px";
|
|
|
|
|
# };
|
|
|
|
|
# element = {
|
|
|
|
|
# padding = mkLiteral "0px 2px";
|
|
|
|
|
# };
|
|
|
|
|
# "element selected" = {
|
|
|
|
|
# background-color = mkLiteral colors.withHashtag.base02;
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# Dark mode
|
2024-07-19 01:34:42 +00:00
|
|
|
|
# dconf.settings = {
|
|
|
|
|
# "org/gnome/desktop/interface" = {
|
|
|
|
|
# color-scheme = "prefer-dark";
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
# qt = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# platformTheme.name = "adwaita";
|
|
|
|
|
# style.name = "adwaita-dark";
|
|
|
|
|
# };
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# systemd.user.sessionVariables = config.home.sessionVariables;
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# Configure GTK
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# gtk = let
|
|
|
|
|
# css = ''
|
|
|
|
|
# headerbar.default-decoration {
|
|
|
|
|
# margin-bottom: 50px;
|
|
|
|
|
# margin-top: -100px;
|
|
|
|
|
# }
|
|
|
|
|
|
|
|
|
|
# window.csd,
|
|
|
|
|
# window.csd decoration {
|
|
|
|
|
# box-shadow: none;
|
|
|
|
|
# }
|
|
|
|
|
# '';
|
|
|
|
|
# in {
|
|
|
|
|
# enable = true;
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# # Dark mode
|
|
|
|
|
# theme = {
|
|
|
|
|
# name = "Adwaita-dark";
|
|
|
|
|
# package = pkgs.gnome-themes-extra;
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# # Disable CSD
|
|
|
|
|
# gtk3.extraCss = css;
|
|
|
|
|
# gtk4.extraCss = css;
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# Cursors
|
2024-07-19 01:34:42 +00:00
|
|
|
|
# home.pointerCursor = {
|
|
|
|
|
# gtk.enable = true;
|
|
|
|
|
# name = lib.mkForce "BreezeX-RosePine-Linux";
|
|
|
|
|
# package = lib.mkForce pkgs.rose-pine-cursor;
|
|
|
|
|
# size = lib.mkForce 24;
|
|
|
|
|
# x11 = {
|
|
|
|
|
# defaultCursor = lib.mkForce "BreezeX-RosePine-Linux";
|
|
|
|
|
# enable = true;
|
|
|
|
|
# };
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# Neovim setup
|
2024-07-19 01:34:42 +00:00
|
|
|
|
# programs.nixvim = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# defaultEditor = true;
|
|
|
|
|
# viAlias = true;
|
|
|
|
|
# vimAlias = true;
|
|
|
|
|
|
|
|
|
|
# extraPackages = with pkgs; [
|
|
|
|
|
# ];
|
|
|
|
|
|
|
|
|
|
# opts = {
|
|
|
|
|
# number = true;
|
|
|
|
|
# relativenumber = true;
|
|
|
|
|
|
|
|
|
|
# signcolumn = "yes";
|
|
|
|
|
|
|
|
|
|
# ignorecase = true;
|
|
|
|
|
# smartcase = true;
|
|
|
|
|
|
|
|
|
|
# tabstop = 4;
|
|
|
|
|
# shiftwidth = 4;
|
|
|
|
|
# softtabstop = 0;
|
|
|
|
|
# expandtab = true;
|
|
|
|
|
# smarttab = true;
|
|
|
|
|
|
|
|
|
|
# list = true;
|
|
|
|
|
# listchars = "tab:»┈«,trail:·,extends:→,precedes:←,nbsp:␣";
|
|
|
|
|
# };
|
|
|
|
|
|
|
|
|
|
# diagnostics = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# signs = true;
|
|
|
|
|
# underline = true;
|
|
|
|
|
# update_in_insert = true;
|
|
|
|
|
# };
|
|
|
|
|
|
|
|
|
|
# extraConfigLua = ''
|
|
|
|
|
# vim.fn.sign_define("DiagnosticSignError",
|
|
|
|
|
# {text = "", texthl = "DiagnosticSignError"})
|
|
|
|
|
# vim.fn.sign_define("DiagnosticSignWarn",
|
|
|
|
|
# {text = "", texthl = "DiagnosticSignWarn"})
|
|
|
|
|
# vim.fn.sign_define("DiagnosticSignInfo",
|
|
|
|
|
# {text = "", texthl = "DiagnosticSignInfo"})
|
|
|
|
|
# vim.fn.sign_define("DiagnosticSignHint",
|
|
|
|
|
# {text = "💡", texthl = "DiagnosticSignHint"})
|
|
|
|
|
# '';
|
|
|
|
|
|
|
|
|
|
# keymaps = [
|
|
|
|
|
# # Save shortcut
|
|
|
|
|
# {
|
|
|
|
|
# action = ":update<CR>";
|
|
|
|
|
# key = "<C-s>";
|
|
|
|
|
# mode = "n";
|
|
|
|
|
# }
|
|
|
|
|
# {
|
|
|
|
|
# action = "<C-o>:update<CR>";
|
|
|
|
|
# key = "<C-s>";
|
|
|
|
|
# mode = "i";
|
|
|
|
|
# }
|
|
|
|
|
|
|
|
|
|
# # Neo tree
|
|
|
|
|
# {
|
|
|
|
|
# action = ":Neotree action=focus reveal toggle<CR>";
|
|
|
|
|
# key = "<leader>n";
|
|
|
|
|
# mode = "n";
|
|
|
|
|
# options.silent = true;
|
|
|
|
|
# }
|
|
|
|
|
# ];
|
|
|
|
|
|
|
|
|
|
# autoCmd = [
|
|
|
|
|
# {
|
|
|
|
|
# desc = "Automatic formatting";
|
|
|
|
|
# event = "BufWritePre";
|
|
|
|
|
# callback = {
|
|
|
|
|
# __raw = ''
|
|
|
|
|
# function()
|
|
|
|
|
# vim.lsp.buf.format {
|
|
|
|
|
# async = false,
|
|
|
|
|
# }
|
|
|
|
|
# end
|
|
|
|
|
# '';
|
|
|
|
|
# };
|
|
|
|
|
# }
|
|
|
|
|
# ];
|
|
|
|
|
|
|
|
|
|
# highlight = {
|
|
|
|
|
# Comment = {
|
|
|
|
|
# italic = true;
|
|
|
|
|
# fg = colors.withHashtag.base03;
|
|
|
|
|
# };
|
|
|
|
|
|
|
|
|
|
# };
|
|
|
|
|
|
|
|
|
|
# plugins.lsp = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# };
|
|
|
|
|
|
|
|
|
|
# #plugins.treesitter = {
|
|
|
|
|
# # enable = true;
|
|
|
|
|
# #};
|
|
|
|
|
|
|
|
|
|
# plugins.cmp = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
|
|
|
|
|
# settings = {
|
|
|
|
|
# mapping = {
|
|
|
|
|
# "<C-Space>" = "cmp.mapping.complete()";
|
|
|
|
|
# "<C-d>" = "cmp.mapping.scroll_docs(-4)";
|
|
|
|
|
# "<C-e>" = "cmp.mapping.close()";
|
|
|
|
|
# "<C-f>" = "cmp.mapping.scroll_docs(4)";
|
|
|
|
|
# "<CR>" = "cmp.mapping.confirm({ select = true })";
|
|
|
|
|
# "<S-Tab>" = "cmp.mapping(cmp.mapping.select_prev_item(), {'i', 's'})";
|
|
|
|
|
# "<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
|
|
|
|
|
# };
|
|
|
|
|
# sources = [
|
|
|
|
|
# { name = "path"; }
|
|
|
|
|
# { name = "nvim_lsp"; }
|
|
|
|
|
# ];
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
|
|
|
|
|
# plugins.neo-tree = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
|
|
|
|
|
# closeIfLastWindow = true;
|
|
|
|
|
# window = {
|
|
|
|
|
# width = 30;
|
|
|
|
|
# autoExpandWidth = true;
|
|
|
|
|
# };
|
|
|
|
|
|
|
|
|
|
# extraOptions = {
|
|
|
|
|
# default_component_configs.git_status.symbols = {
|
|
|
|
|
# # Change type
|
|
|
|
|
# added = "+";
|
|
|
|
|
# deleted = "✕";
|
|
|
|
|
# modified = "✦";
|
|
|
|
|
# renamed = "→";
|
|
|
|
|
|
|
|
|
|
# # Status type
|
|
|
|
|
# untracked = "?";
|
|
|
|
|
# ignored = "▫";
|
|
|
|
|
# unstaged = "□";
|
|
|
|
|
# staged = "■";
|
|
|
|
|
# conflict = "‼";
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
|
|
|
|
|
# #plugins.cmp-nvim-lsp.enable = true;
|
|
|
|
|
|
|
|
|
|
# plugins.gitsigns = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# settings.current_line_blame = true;
|
|
|
|
|
# };
|
|
|
|
|
|
|
|
|
|
# #plugins.copilot-vim = {
|
|
|
|
|
# # enable = true;
|
|
|
|
|
# #};
|
|
|
|
|
|
|
|
|
|
# plugins.rust-tools = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# };
|
|
|
|
|
|
|
|
|
|
# plugins.vimtex = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# texlivePackage = null;
|
|
|
|
|
# settings = {
|
|
|
|
|
# view_method = "zathura";
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
# programs.neovim.defaultEditor = true;
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# Foot setup
|
2024-07-18 22:31:41 +00:00
|
|
|
|
# programs.foot = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# settings = {
|
|
|
|
|
# main = let
|
|
|
|
|
# font = fonts.monospace.name;
|
|
|
|
|
# size = toString fonts.sizes.terminal;
|
|
|
|
|
# in {
|
|
|
|
|
# font = lib.mkForce "${font}:style=Regular:size=${size}";
|
|
|
|
|
# font-bold = "${font}:style=Bold:size=${size}";
|
|
|
|
|
# font-italic = "${font}:style=Italic:size=${size}";
|
|
|
|
|
# font-bold-italic = "${font}:style=Bold Italic:size=${size}";
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# Fuzzel setup
|
|
|
|
|
#programs.fuzzel = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# settings = {
|
|
|
|
|
# main = {
|
|
|
|
|
# font = "${fonts.monospace.name}:size=${toString fonts.sizes.terminal}";
|
|
|
|
|
# icons-enabled = "no";
|
|
|
|
|
# horizontal-pad = borderSize;
|
|
|
|
|
# vertical-pad = borderSize;
|
|
|
|
|
# inner-pad = 2;
|
|
|
|
|
# dpi-aware = "no";
|
|
|
|
|
# };
|
|
|
|
|
# colors = {
|
|
|
|
|
# background = colors.base00 + "ff";
|
|
|
|
|
# text = colors.base05 + "ff";
|
|
|
|
|
# match = colors.base09 + "ff";
|
|
|
|
|
# selection = colors.base02 + "ff";
|
|
|
|
|
# selection-text = colors.base05 + "ff";
|
|
|
|
|
# selection-match = colors.base09 + "ff";
|
|
|
|
|
# border = colors.base05 + "ff";
|
|
|
|
|
# };
|
|
|
|
|
# border = {
|
|
|
|
|
# width = borderSize;
|
|
|
|
|
# radius = 0;
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
|
|
|
|
|
# Mako notifications setup
|
2024-07-18 22:36:02 +00:00
|
|
|
|
# services.mako = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# anchor = "top-right";
|
|
|
|
|
# defaultTimeout = 5000;
|
|
|
|
|
# backgroundColor = "#${colors.base00}ff";
|
|
|
|
|
# textColor = "#${colors.base05}ff";
|
|
|
|
|
# borderColor = "#${colors.base05}ff";
|
|
|
|
|
# progressColor = "#${colors.base09}ff";
|
|
|
|
|
# borderRadius = 0;
|
|
|
|
|
# borderSize = borderSize;
|
|
|
|
|
# font = "${fonts.monospace.name} ${toString fonts.sizes.terminal}";
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
|
|
|
|
# Waybar setup
|
2024-07-19 01:34:42 +00:00
|
|
|
|
# programs.waybar = {
|
|
|
|
|
# enable = true;
|
|
|
|
|
# settings = {
|
|
|
|
|
# mainBar = {
|
|
|
|
|
# layer = "top";
|
|
|
|
|
# spacing = 16;
|
|
|
|
|
# modules-left = [
|
|
|
|
|
# "river/tags"
|
|
|
|
|
# ];
|
|
|
|
|
# modules-center = [
|
|
|
|
|
# #"river/window"
|
|
|
|
|
# "mpris"
|
|
|
|
|
# ];
|
|
|
|
|
# modules-right = [
|
|
|
|
|
# "pulseaudio"
|
|
|
|
|
# "battery"
|
|
|
|
|
# "clock"
|
|
|
|
|
# ];
|
|
|
|
|
# "river/window" = {
|
|
|
|
|
# max-length = 50;
|
|
|
|
|
# };
|
|
|
|
|
# "river/tags" = {
|
|
|
|
|
# tag-labels = [
|
|
|
|
|
# "一"
|
|
|
|
|
# "二"
|
|
|
|
|
# "三"
|
|
|
|
|
# "四"
|
|
|
|
|
# "五"
|
|
|
|
|
# "六"
|
|
|
|
|
# "七"
|
|
|
|
|
# "八"
|
|
|
|
|
# "九"
|
|
|
|
|
# ];
|
|
|
|
|
# disable-click = false;
|
|
|
|
|
# };
|
|
|
|
|
# pulseaudio = {
|
|
|
|
|
# tooltip = false;
|
|
|
|
|
# format = "{icon} {volume}%"; # Spacing achieved using "Thin Space"
|
|
|
|
|
# #format-muted = "";
|
|
|
|
|
# format-muted = "{icon} --%"; # Spacing achieved using "Thin Space"
|
|
|
|
|
# format-icons = {
|
|
|
|
|
# #headphone = "";
|
|
|
|
|
# #default = [ "" "" ];
|
|
|
|
|
# headphone = "";
|
|
|
|
|
# headphone-muted = "";
|
|
|
|
|
# default = [ "" "" "" ];
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
# battery = {
|
|
|
|
|
# format = "{icon} {capacity}%"; # Spacing achieved using "Thin Space"
|
|
|
|
|
# format-charging = " {capacity}%"; # Spacing achieved using "Thin Space"
|
|
|
|
|
# #format-icons = [ "" "" "" "" "" "" "" "" "" "" "" ];
|
|
|
|
|
# format-icons = [ "" "" "" "" "" "" "" "" "" "" "" ];
|
|
|
|
|
# interval = 1;
|
|
|
|
|
# };
|
|
|
|
|
# clock = {
|
|
|
|
|
# #format = " {:%H:%M}";
|
|
|
|
|
# #format = " {:%H:%M}"; # Spacing achieved using "Thin Space"
|
|
|
|
|
# format = "{:%H:%M}";
|
|
|
|
|
# };
|
|
|
|
|
# mpris = {
|
|
|
|
|
# format = "{dynamic}";
|
|
|
|
|
# tooltip-format = "";
|
|
|
|
|
# interval = 1;
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
# };
|
|
|
|
|
# style = ''
|
|
|
|
|
# window#waybar {
|
|
|
|
|
# color: #${colors.base05};
|
|
|
|
|
# background-color: #${colors.base00};
|
|
|
|
|
# border-style: none none solid none;
|
|
|
|
|
# border-width: ${toString borderSize}px;
|
|
|
|
|
# border-color: #${colors.base01};
|
|
|
|
|
# font-size: 12px;
|
|
|
|
|
# font-family: "${fonts.monospace.name}";
|
|
|
|
|
# }
|
|
|
|
|
|
|
|
|
|
# .modules-right {
|
|
|
|
|
# margin: 0 8px 0 0;
|
|
|
|
|
# }
|
|
|
|
|
|
|
|
|
|
# #tags button {
|
|
|
|
|
# color: #${colors.base03};
|
|
|
|
|
# padding: 0 5px 1px 5px;
|
|
|
|
|
# border-radius: 0;
|
|
|
|
|
# font-size: 16px;
|
|
|
|
|
# font-family: "Unifont";
|
|
|
|
|
# }
|
|
|
|
|
|
|
|
|
|
# #tags button.occupied {
|
|
|
|
|
# color: #${colors.base05};
|
|
|
|
|
# }
|
|
|
|
|
|
|
|
|
|
# #tags button.focused {
|
|
|
|
|
# color: #${colors.base09};
|
|
|
|
|
# }
|
|
|
|
|
|
|
|
|
|
# #tags.button.bell {
|
|
|
|
|
# color: #${colors.base0A};
|
|
|
|
|
# }
|
|
|
|
|
# '';
|
|
|
|
|
# };
|
2024-07-18 04:08:27 +00:00
|
|
|
|
|
2024-07-18 23:00:39 +00:00
|
|
|
|
# home.stateVersion = "24.05";
|
2024-07-18 04:08:27 +00:00
|
|
|
|
}
|