fix!: make pickwick usable again
This commit is contained in:
parent
49b9cf08ba
commit
805cb01ca6
10 changed files with 319 additions and 21 deletions
|
|
@ -19,7 +19,7 @@ davmail.logFilePath=/tmp/davmail.log
|
|||
davmail.logFileSize=1MB
|
||||
|
||||
# OAuth token storage
|
||||
davmail.oauth.tokenFilePath=/Users/rayandrew/.local/state/davmail-tokens
|
||||
davmail.oauth.tokenFilePath=/home/rayandrew/.local/state/davmail-tokens
|
||||
|
||||
# Log levels
|
||||
log4j.logger.davmail=WARN
|
||||
33
config/davmail/davmail.linux.properties
Normal file
33
config/davmail/davmail.linux.properties
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# DavMail configuration
|
||||
# See: http://davmail.sourceforge.net/serversetup.html
|
||||
|
||||
davmail.server=true
|
||||
davmail.disableUpdateCheck=true
|
||||
davmail.mode=O365Manual
|
||||
davmail.url=https://outlook.office365.com/EWS/Exchange.asmx
|
||||
davmail.keepDelay=30
|
||||
|
||||
# Ports
|
||||
davmail.caldavPort=1080
|
||||
davmail.imapPort=1143
|
||||
davmail.ldapPort=1389
|
||||
davmail.popPort=1110
|
||||
davmail.smtpPort=1025
|
||||
|
||||
# Logging
|
||||
davmail.logFilePath=/tmp/davmail.log
|
||||
davmail.logFileSize=1MB
|
||||
|
||||
# OAuth token storage
|
||||
davmail.oauth.tokenFilePath=/home/rayandrew/.local/state/davmail-tokens
|
||||
|
||||
# Log levels
|
||||
log4j.logger.davmail=WARN
|
||||
log4j.logger.httpclient.wire=WARN
|
||||
log4j.logger.org.apache.commons.httpclient=WARN
|
||||
log4j.rootLogger=WARN
|
||||
|
||||
# log4j.logger.davmail=DEBUG
|
||||
# log4j.logger.httpclient.wire=DEBUG
|
||||
# log4j.logger.org.apache.commons.httpclient=DEBUG
|
||||
# log4j.rootLogger=DEBUG
|
||||
|
|
@ -3,7 +3,7 @@ gtk-single-instance = true
|
|||
gtk-titlebar = false
|
||||
window-decoration = server
|
||||
quit-after-last-window-closed = true
|
||||
gtk-adwaita = false
|
||||
# gtk-adwaita = false
|
||||
# font-family = ${system-font}
|
||||
font-family = Consolas
|
||||
font-family = Symbols Nerd Font Mono
|
||||
|
|
|
|||
|
|
@ -58,9 +58,9 @@ add 'aserowy/tmux.nvim'
|
|||
add 'NMAC427/guess-indent.nvim'
|
||||
add 'wakatime/vim-wakatime'
|
||||
add 'OXY2DEV/markview.nvim'
|
||||
add { source = 'R-nvim/R.nvim', depends = { 'nvim-treesitter/nvim-treesitter' } }
|
||||
add 'nvim-treesitter/nvim-treesitter'
|
||||
add 'nvim-treesitter/nvim-treesitter-textobjects'
|
||||
add { source = 'R-nvim/R.nvim', depends = { { source = 'nvim-treesitter/nvim-treesitter', checkout = 'main' } } }
|
||||
add { source = 'nvim-treesitter/nvim-treesitter', checkout = 'main' }
|
||||
add { source = 'nvim-treesitter/nvim-treesitter-textobjects', checkout = 'main' }
|
||||
add { source = 'nvim-pack/nvim-spectre', depends = { 'nvim-lua/plenary.nvim' } }
|
||||
add 'lervag/vimtex'
|
||||
add 'micangl/cmp-vimtex'
|
||||
|
|
@ -345,7 +345,7 @@ later(function()
|
|||
require('tmux').setup {}
|
||||
|
||||
-- Ensure treesitter parsers are installed
|
||||
require('nvim-treesitter.configs').setup {
|
||||
require('nvim-treesitter.config').setup {
|
||||
ensure_installed = {
|
||||
'r',
|
||||
'rnoweb',
|
||||
|
|
@ -595,20 +595,21 @@ later(function()
|
|||
'clangd', -- C/C++
|
||||
'copilot',
|
||||
'marksman', -- Markdown + Zettelkasten
|
||||
'stylua',
|
||||
},
|
||||
automatic_installation = true,
|
||||
}
|
||||
|
||||
-- Ensure formatters are installed
|
||||
local mason_registry = require 'mason-registry'
|
||||
local formatters = {
|
||||
'stylua',
|
||||
}
|
||||
|
||||
for _, formatter in ipairs(formatters) do
|
||||
local package = mason_registry.get_package(formatter)
|
||||
if not package:is_installed() then package:install() end
|
||||
end
|
||||
-- local mason_registry = require 'mason-registry'
|
||||
-- local formatters = {
|
||||
-- 'stylua',
|
||||
-- }
|
||||
--
|
||||
-- for _, formatter in ipairs(formatters) do
|
||||
-- local package = mason_registry.get_package(formatter)
|
||||
-- if not package:is_installed() then package:install() end
|
||||
-- end
|
||||
|
||||
-- LSP keybindings and options
|
||||
vim.api.nvim_create_autocmd('LspAttach', {
|
||||
|
|
|
|||
73
home/colors.nix
Normal file
73
home/colors.nix
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
# Noctis Azureus color palette
|
||||
# Based on https://github.com/EastSun5566/ghostty-noctis-themes
|
||||
# This is the single source of truth for colors across the dotfiles
|
||||
{
|
||||
# UI backgrounds (from ghostty theme)
|
||||
bg = "#051b29";
|
||||
bg_dark = "#041520";
|
||||
bg_darker = "#030f18";
|
||||
bg_float = "#07273b";
|
||||
bg_highlight = "#0c3f5f";
|
||||
bg_visual = "#1679b6";
|
||||
|
||||
# Diff backgrounds
|
||||
diff_add = "#1a3328";
|
||||
diff_delete = "#3d2a2a";
|
||||
diff_change = "#153a5b";
|
||||
|
||||
# Foreground
|
||||
fg = "#becfda";
|
||||
fg_dark = "#aec3d0";
|
||||
fg_gutter = "#475e6c";
|
||||
|
||||
# Syntax colors (from terminal palette)
|
||||
comment = "#475e6c"; # bright black
|
||||
keyword = "#df769b"; # magenta
|
||||
tag = "#e66533"; # red
|
||||
variable = "#e4b781"; # yellow
|
||||
string = "#49e9a6"; # green
|
||||
string_escape = "#60ebb1"; # bright green
|
||||
number = "#49ace9"; # blue
|
||||
func = "#49d6e9"; # cyan
|
||||
type = "#e97749"; # bright red
|
||||
constant = "#e69533"; # bright yellow
|
||||
support = "#60dbeb"; # bright cyan
|
||||
misc = "#60b6eb"; # bright blue
|
||||
|
||||
# Semantic colors
|
||||
error = "#e66533"; # red
|
||||
warning = "#e4b781"; # yellow
|
||||
info = "#49ace9"; # blue
|
||||
hint = "#49e9a6"; # green
|
||||
|
||||
# UI accents
|
||||
border = "#28353e"; # black
|
||||
cursor = "#becfda";
|
||||
search = "#49e9a6";
|
||||
match = "#e4b781";
|
||||
|
||||
# Bar/statusline specific (matches sketchybar approach)
|
||||
bar_bg = "#030f18"; # bg_darker - same as sketchybar
|
||||
bar_fg = "#aec3d0"; # fg_dark - slightly muted
|
||||
bar_accent = "#49ace9"; # blue - for focused workspace
|
||||
|
||||
# Terminal colors (ANSI)
|
||||
black = "#28353e";
|
||||
red = "#e66533";
|
||||
green = "#49e9a6";
|
||||
yellow = "#e4b781";
|
||||
blue = "#49ace9";
|
||||
magenta = "#df769b";
|
||||
cyan = "#49d6e9";
|
||||
white = "#becfda";
|
||||
|
||||
# Bright terminal colors
|
||||
bright_black = "#475e6c";
|
||||
bright_red = "#e97749";
|
||||
bright_green = "#60ebb1";
|
||||
bright_yellow = "#e69533";
|
||||
bright_blue = "#60b6eb";
|
||||
bright_magenta = "#df769b";
|
||||
bright_cyan = "#60dbeb";
|
||||
bright_white = "#d0dfe8";
|
||||
}
|
||||
|
|
@ -21,7 +21,11 @@
|
|||
# DavMail service (Exchange gateway)
|
||||
services.davmail = {
|
||||
enable = config.custom.email.davmail;
|
||||
configFile = "${dots}/config/davmail/davmail.properties";
|
||||
configFile =
|
||||
if pkgs.stdenv.isDarwin then
|
||||
"${dots}/config/davmail/davmail.darwin.properties"
|
||||
else
|
||||
"${dots}/config/davmail/davmail.linux.properties";
|
||||
};
|
||||
|
||||
# Mbsync service (mail sync)
|
||||
|
|
|
|||
37
home/gui.nix
37
home/gui.nix
|
|
@ -32,6 +32,9 @@
|
|||
firefox = {
|
||||
enable = mkEnableOption "Enable Firefox";
|
||||
};
|
||||
qutebrowser = {
|
||||
enable = mkEnableOption "Enable qutebrowser";
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkMerge [
|
||||
|
|
@ -58,6 +61,21 @@
|
|||
}
|
||||
|
||||
(lib.mkIf config.custom.gui.default.enable {
|
||||
home.packages = with pkgs; [
|
||||
qutebrowser
|
||||
];
|
||||
|
||||
xdg.mimeApps = {
|
||||
enable = true;
|
||||
defaultApplications = {
|
||||
"text/html" = "firefox.desktop";
|
||||
"x-scheme-handler/http" = "firefox.desktop";
|
||||
"x-scheme-handler/https" = "firefox.desktop";
|
||||
"x-scheme-handler/about" = "firefox.desktop";
|
||||
"x-scheme-handler/unknown" = "firefox.desktop";
|
||||
};
|
||||
};
|
||||
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
|
|
@ -65,6 +83,22 @@
|
|||
clock-format = "12h";
|
||||
};
|
||||
};
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Adwaita-dark";
|
||||
package = pkgs.gnome-themes-extra;
|
||||
};
|
||||
gtk3.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||
gtk4.extraConfig.gtk-application-prefer-dark-theme = 1;
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
style = {
|
||||
name = "adwaita-dark";
|
||||
};
|
||||
};
|
||||
})
|
||||
|
||||
(lib.mkIf config.custom.gui.vscode.enable {
|
||||
|
|
@ -115,9 +149,8 @@
|
|||
spotify
|
||||
slack
|
||||
webex
|
||||
whatsapp-for-linux
|
||||
wasistlos
|
||||
teams-for-linux
|
||||
skypeforlinux
|
||||
inputs.zen-browser.packages."${system}".twilight
|
||||
chromium
|
||||
arandr
|
||||
|
|
|
|||
|
|
@ -6,6 +6,9 @@
|
|||
system,
|
||||
...
|
||||
}:
|
||||
let
|
||||
colors = import ../colors.nix;
|
||||
in
|
||||
{
|
||||
options.custom.gui = with lib; {
|
||||
i3 = {
|
||||
|
|
@ -13,12 +16,74 @@
|
|||
};
|
||||
};
|
||||
config = lib.mkIf config.custom.gui.i3.enable {
|
||||
xdg.configFile."i3status/config".source = pkgs.replaceVars ./i3status.config { };
|
||||
xdg.configFile."i3status/config".source = pkgs.replaceVars ./i3status.config {
|
||||
inherit (colors) green warning error;
|
||||
};
|
||||
services.picom = {
|
||||
enable = true;
|
||||
};
|
||||
services.dunst = {
|
||||
enable = true;
|
||||
settings = {
|
||||
global = {
|
||||
width = 300;
|
||||
height = 300;
|
||||
origin = "top-right";
|
||||
offset = "10x50";
|
||||
notification_limit = 5;
|
||||
progress_bar = true;
|
||||
progress_bar_height = 10;
|
||||
progress_bar_frame_width = 1;
|
||||
progress_bar_min_width = 150;
|
||||
progress_bar_max_width = 300;
|
||||
transparency = 0;
|
||||
separator_height = 2;
|
||||
padding = 8;
|
||||
horizontal_padding = 8;
|
||||
frame_width = 2;
|
||||
frame_color = colors.border;
|
||||
separator_color = "frame";
|
||||
sort = true;
|
||||
idle_threshold = 120;
|
||||
font = "Monospace 10";
|
||||
line_height = 0;
|
||||
markup = "full";
|
||||
format = "<b>%s</b>\\n%b";
|
||||
alignment = "left";
|
||||
vertical_alignment = "center";
|
||||
show_age_threshold = 60;
|
||||
ellipsize = "middle";
|
||||
stack_duplicates = true;
|
||||
show_indicators = true;
|
||||
icon_position = "left";
|
||||
min_icon_size = 32;
|
||||
max_icon_size = 128;
|
||||
sticky_history = true;
|
||||
history_length = 20;
|
||||
corner_radius = 8;
|
||||
mouse_left_click = "close_current";
|
||||
mouse_middle_click = "do_action, close_current";
|
||||
mouse_right_click = "close_all";
|
||||
};
|
||||
urgency_low = {
|
||||
background = colors.bg;
|
||||
foreground = colors.fg;
|
||||
frame_color = colors.border;
|
||||
timeout = 5;
|
||||
};
|
||||
urgency_normal = {
|
||||
background = colors.bg;
|
||||
foreground = colors.fg;
|
||||
frame_color = colors.info;
|
||||
timeout = 10;
|
||||
};
|
||||
urgency_critical = {
|
||||
background = colors.bg_dark;
|
||||
foreground = colors.fg;
|
||||
frame_color = colors.error;
|
||||
timeout = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
home.pointerCursor = {
|
||||
package = pkgs.adwaita-icon-theme;
|
||||
|
|
@ -40,7 +105,8 @@
|
|||
if test -e $HOME/.Xresources; then
|
||||
${pkgs.xorg.xrdb}/bin/xrdb -merge $HOME/.Xresources &disown
|
||||
fi
|
||||
echo "Xft.dpi: 192" | ${pkgs.xorg.xrdb}/bin/xrdb -merge
|
||||
# echo "Xft.dpi: 192" | ${pkgs.xorg.xrdb}/bin/xrdb -merge
|
||||
echo "Xft.dpi: 144" | ${pkgs.xorg.xrdb}/bin/xrdb -merge
|
||||
'';
|
||||
windowManager.i3 =
|
||||
let
|
||||
|
|
@ -86,6 +152,10 @@
|
|||
enable = true;
|
||||
config = {
|
||||
inherit modifier terminal;
|
||||
fonts = {
|
||||
names = [ "SpaceMono Nerd Font" ];
|
||||
size = 10.0;
|
||||
};
|
||||
keybindings = lib.mkOptionDefault {
|
||||
"${modifier}+h" = "focus left";
|
||||
"${modifier}+j" = "focus down";
|
||||
|
|
@ -174,9 +244,74 @@
|
|||
}
|
||||
// exitMode;
|
||||
};
|
||||
colors = {
|
||||
focused = {
|
||||
border = colors.info;
|
||||
background = colors.bg_highlight;
|
||||
text = colors.fg;
|
||||
indicator = colors.info;
|
||||
childBorder = colors.info;
|
||||
};
|
||||
focusedInactive = {
|
||||
border = colors.border;
|
||||
background = colors.bg_float;
|
||||
text = colors.fg_dark;
|
||||
indicator = colors.border;
|
||||
childBorder = colors.border;
|
||||
};
|
||||
unfocused = {
|
||||
border = colors.bg_dark;
|
||||
background = colors.bg_dark;
|
||||
text = colors.comment;
|
||||
indicator = colors.bg_dark;
|
||||
childBorder = colors.bg_dark;
|
||||
};
|
||||
urgent = {
|
||||
border = colors.error;
|
||||
background = colors.error;
|
||||
text = colors.fg;
|
||||
indicator = colors.error;
|
||||
childBorder = colors.error;
|
||||
};
|
||||
};
|
||||
bars = [
|
||||
{
|
||||
position = "bottom";
|
||||
statusCommand = "${pkgs.i3status}/bin/i3status";
|
||||
fonts = {
|
||||
names = [ "SpaceMono Nerd Font" ];
|
||||
size = 10.0;
|
||||
};
|
||||
colors = {
|
||||
background = colors.bar_bg;
|
||||
statusline = colors.fg;
|
||||
separator = colors.border;
|
||||
focusedWorkspace = {
|
||||
border = colors.bar_accent;
|
||||
background = colors.bar_accent;
|
||||
text = colors.bg_darker;
|
||||
};
|
||||
activeWorkspace = {
|
||||
border = colors.bg_highlight;
|
||||
background = colors.bg_highlight;
|
||||
text = colors.fg;
|
||||
};
|
||||
inactiveWorkspace = {
|
||||
border = colors.bar_bg;
|
||||
background = colors.bar_bg;
|
||||
text = colors.fg_dark;
|
||||
};
|
||||
urgentWorkspace = {
|
||||
border = colors.error;
|
||||
background = colors.error;
|
||||
text = colors.fg;
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
startup = [
|
||||
{
|
||||
command = "${pkgs.hsetroot}/bin/hsetroot -solid \"#062329\"";
|
||||
command = "${pkgs.hsetroot}/bin/hsetroot -solid \"${colors.bg}\"";
|
||||
notification = false;
|
||||
}
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
general {
|
||||
colors = true
|
||||
interval = 5
|
||||
color_good = "@green@"
|
||||
color_degraded = "@warning@"
|
||||
color_bad = "@error@"
|
||||
}
|
||||
|
||||
# order += "ipv6"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
user,
|
||||
pkgs,
|
||||
home-dir,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
|
@ -54,19 +55,34 @@
|
|||
|
||||
# home manager
|
||||
hm.custom = {
|
||||
environment = {
|
||||
enable = true;
|
||||
variables = {
|
||||
EDITOR = "nvim";
|
||||
SOPS_AGE_KEY_FILE = "${home-dir}/.config/sops/age/keys.txt";
|
||||
};
|
||||
};
|
||||
emacs.enable = true;
|
||||
neovim.enable = true;
|
||||
latex.enable = true;
|
||||
tmux.enable = true;
|
||||
gui = {
|
||||
default.enable = true;
|
||||
i3.enable = true;
|
||||
ghostty.enable = true;
|
||||
firefox.enable = true;
|
||||
linux.enable = true;
|
||||
kitty.enable = true;
|
||||
zathura.enable = true;
|
||||
sioyek.enable = true;
|
||||
};
|
||||
email = {
|
||||
enable = true;
|
||||
davmail = true;
|
||||
neomutt = true;
|
||||
mbsync = true;
|
||||
mailcap = true;
|
||||
notmuch = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue