Started working on guest@euporie
This commit is contained in:
parent
0503a81ee8
commit
230a739327
62 changed files with 188 additions and 135 deletions
19
home/features/desktop/alacritty.nix
Normal file
19
home/features/desktop/alacritty.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
stylix.targets.alacritty.enable = true;
|
||||
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
window.opacity = lib.mkForce 0.5; # Conflicts with stylix
|
||||
window.padding = {
|
||||
x = 4;
|
||||
y = 4;
|
||||
};
|
||||
|
||||
env = { TERM = "tmux-256color"; };
|
||||
working_directory = "${config.home.homeDirectory}/Projects/";
|
||||
};
|
||||
};
|
||||
}
|
12
home/features/desktop/discord.nix
Normal file
12
home/features/desktop/discord.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ config, ... }: {
|
||||
programs.discord = {
|
||||
enable = true;
|
||||
enableOpenASAR = false;
|
||||
disableUpdateCheck = true;
|
||||
enableDevtools = true;
|
||||
};
|
||||
|
||||
satellite.persistence.at.state.apps.Discord.directories = [
|
||||
"${config.xdg.configHome}/discord" # Why tf does discord store it's state here 💀
|
||||
];
|
||||
}
|
18
home/features/desktop/eww/default.nix
Normal file
18
home/features/desktop/eww/default.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{ config, pkgs, ... }:
|
||||
let
|
||||
base16-eww = config.lib.stylix.colors {
|
||||
template = builtins.readFile ./template.yuck;
|
||||
};
|
||||
|
||||
widgets = config.satellite.dev.path "home/adrielus/features/desktop/common/eww/widgets";
|
||||
in
|
||||
{
|
||||
home.packages = [ pkgs.eww ];
|
||||
xdg.configFile."eww/eww.yuck".text = ''
|
||||
# Color scheme
|
||||
(include ${base16-eww})
|
||||
|
||||
# My widgets
|
||||
(include ${widgets}/dashboard)
|
||||
'';
|
||||
}
|
16
home/features/desktop/eww/template.yuck
Normal file
16
home/features/desktop/eww/template.yuck
Normal file
|
@ -0,0 +1,16 @@
|
|||
(defvar base00 "{{base00-hex}}")
|
||||
(defvar base01 "{{base01-hex}}")
|
||||
(defvar base02 "{{base02-hex}}")
|
||||
(defvar base03 "{{base03-hex}}")
|
||||
(defvar base04 "{{base04-hex}}")
|
||||
(defvar base05 "{{base05-hex}}")
|
||||
(defvar base06 "{{base06-hex}}")
|
||||
(defvar base07 "{{base07-hex}}")
|
||||
(defvar base08 "{{base08-hex}}")
|
||||
(defvar base09 "{{base09-hex}}")
|
||||
(defvar base0A "{{base0A-hex}}")
|
||||
(defvar base0B "{{base0B-hex}}")
|
||||
(defvar base0C "{{base0C-hex}}")
|
||||
(defvar base0D "{{base0D-hex}}")
|
||||
(defvar base0E "{{base0E-hex}}")
|
||||
(defvar base0F "{{base0F-hex}}")
|
12
home/features/desktop/eww/widgets/dashboard.yuck
Normal file
12
home/features/desktop/eww/widgets/dashboard.yuck
Normal file
|
@ -0,0 +1,12 @@
|
|||
(defwindow dashboard
|
||||
:stacking "bg"
|
||||
; :windowtype "normal"
|
||||
:wm-ignore false
|
||||
:reserve (struts :distance "40px" :side "left")
|
||||
:geometry (geometry
|
||||
:width "40px"
|
||||
:height "100%")
|
||||
(dashboard_layout))
|
||||
|
||||
(defwidget dashboard_layout []
|
||||
(label :text "A"))
|
1
home/features/desktop/eww/widgets/eww.yuck
Symbolic link
1
home/features/desktop/eww/widgets/eww.yuck
Symbolic link
|
@ -0,0 +1 @@
|
|||
/nix/store/jfni99vrwsgh0i4i2kjiv953aa0gqp2m-home-manager-files/.config/eww/eww.yuck
|
238
home/features/desktop/firefox/default.nix
Normal file
238
home/features/desktop/firefox/default.nix
Normal file
|
@ -0,0 +1,238 @@
|
|||
{ pkgs, inputs, ... }:
|
||||
let
|
||||
# {{{ Global extensions
|
||||
extensions = with inputs.firefox-addons.packages.${pkgs.system}; [
|
||||
buster-captcha-solver
|
||||
bypass-paywalls-clean
|
||||
clearurls # removes ugly args from urls
|
||||
don-t-fuck-with-paste # disallows certain websites from disabling pasting
|
||||
gesturefy # mouse gestures
|
||||
i-dont-care-about-cookies
|
||||
localcdn # caches libraries locally
|
||||
privacy-badger # blocks some trackers
|
||||
privacy-pass # captcha stuff
|
||||
skip-redirect # attempts to skip to the final reddirect for certain urls
|
||||
terms-of-service-didnt-read
|
||||
translate-web-pages
|
||||
ublock-origin
|
||||
unpaywall
|
||||
user-agent-string-switcher
|
||||
];
|
||||
# }}}
|
||||
in
|
||||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
|
||||
profiles.adrielus = {
|
||||
# {{{ High level user settings
|
||||
# Unique user id
|
||||
id = 0;
|
||||
|
||||
# Make this the default user
|
||||
isDefault = true;
|
||||
|
||||
# Forcefully replace the search configuration
|
||||
search.force = true;
|
||||
|
||||
# Set default search engine
|
||||
search.default = "Google";
|
||||
|
||||
# Set styles applied to every website
|
||||
userContent = builtins.readFile ./userContent.css;
|
||||
# }}}
|
||||
# {{{ Extensions
|
||||
extensions = with inputs.firefox-addons.packages.${pkgs.system}; extensions ++ [
|
||||
firenvim # summon a nvim instance inside the browser
|
||||
lovely-forks # displays forks on github
|
||||
octolinker # github import to link thingy
|
||||
octotree # github file tree
|
||||
refined-github # a bunch of github modifications
|
||||
return-youtube-dislikes
|
||||
steam-database # adds info from steamdb on storepages
|
||||
sponsorblock # skip youtube sponsors
|
||||
vimium-c # vim keybinds
|
||||
youtube-shorts-block
|
||||
];
|
||||
# }}}
|
||||
# {{{ Search engines
|
||||
search.engines =
|
||||
let
|
||||
# {{{ Search engine creation helpers
|
||||
mkBasicSearchEngine = { aliases, url, param }: {
|
||||
urls = [{
|
||||
template = url;
|
||||
params = [
|
||||
{ name = param; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
|
||||
definedAliases = aliases;
|
||||
};
|
||||
|
||||
mkNixPackagesEngine = { aliases, type }:
|
||||
let basicEngine = mkBasicSearchEngine
|
||||
{
|
||||
aliases = aliases;
|
||||
url = "https://search.nixos.org/${type}";
|
||||
param = "query";
|
||||
};
|
||||
in
|
||||
basicEngine // {
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
};
|
||||
# }}}
|
||||
in
|
||||
# {{{ Engine declarations
|
||||
{
|
||||
"Nix Packages" = mkNixPackagesEngine {
|
||||
aliases = [ "@np" "@nix-packages" ];
|
||||
type = "packages";
|
||||
};
|
||||
|
||||
"Nix options" = mkNixPackagesEngine {
|
||||
aliases = [ "@no" "@nix-options" ];
|
||||
type = "options";
|
||||
};
|
||||
|
||||
# Purescript packages
|
||||
"Pursuit" = mkBasicSearchEngine {
|
||||
url = "https://pursuit.purescript.org/search";
|
||||
param = "q";
|
||||
aliases = [ "@ps" "@pursuit" ];
|
||||
};
|
||||
|
||||
"Wikipedia" = mkBasicSearchEngine {
|
||||
url = "https://en.wikipedia.org/wiki/Special:Search";
|
||||
param = "search";
|
||||
aliases = [ "@wk" "@wikipedia" ];
|
||||
};
|
||||
|
||||
"Github" = mkBasicSearchEngine {
|
||||
url = "https://github.com/search";
|
||||
param = "q";
|
||||
aliases = [ "@gh" "@github" ];
|
||||
};
|
||||
|
||||
"Youtube" = mkBasicSearchEngine {
|
||||
url = "https://www.youtube.com/results";
|
||||
param = "search_query";
|
||||
aliases = [ "@yt" "@youtube" ];
|
||||
};
|
||||
|
||||
"Noita wiki" = mkBasicSearchEngine {
|
||||
url = "https://noita.wiki.gg/index.php";
|
||||
param = "search";
|
||||
aliases = [ "@noita" ];
|
||||
};
|
||||
|
||||
"Rain world wiki" = mkBasicSearchEngine {
|
||||
url = "https://rainworld.miraheze.org/w/index.php";
|
||||
param = "search";
|
||||
aliases = [ "@rw" "@rain-world" ];
|
||||
};
|
||||
|
||||
"Factorio wiki" = mkBasicSearchEngine {
|
||||
url = "https://wiki.factorio.com/index.php";
|
||||
param = "search";
|
||||
aliases = [ "@fw" "@factorio-wiki" ];
|
||||
};
|
||||
|
||||
"Factorio mod portal" = mkBasicSearchEngine {
|
||||
url = "https://mods.factorio.com/";
|
||||
param = "query";
|
||||
aliases = [ "@fm" "@factorio-mods" ];
|
||||
};
|
||||
|
||||
"Google".metaData.alias = "@g";
|
||||
};
|
||||
# }}}
|
||||
# }}}
|
||||
# {{{ Other lower level settings
|
||||
settings = {
|
||||
# Required for figma to be able to export to svg
|
||||
"dom.events.asyncClipboard.clipboardItem" = true;
|
||||
|
||||
# Customize css
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
|
||||
# Set language to english
|
||||
"general.useragent.locale" = "en-GB";
|
||||
|
||||
# Do not restore sessions after what looks like a "crash"
|
||||
"browser.sessionstore.resume_from_crash" = false;
|
||||
|
||||
# Tell firefox to make multiple requests at once
|
||||
# See [this random page](https://doorsanchar.com/how-to-make-mozilla-firefox-30-times-faster/)
|
||||
# "network.http.pipelining" = true;
|
||||
# "network.http.proxy.pipelining" = true;
|
||||
# "network.http.pipelining.maxrequests" = 30; # Allow 30 requests at once
|
||||
# "nglayout.initialpaint.delay" = 0;
|
||||
};
|
||||
# }}}
|
||||
};
|
||||
|
||||
# {{{ Standalone "apps" which actually run inside a browser.
|
||||
apps.extensions = extensions;
|
||||
apps.app = {
|
||||
# {{{ Job stuff
|
||||
asana = {
|
||||
url = "https://app.asana.com/";
|
||||
icon = ./icons/asana.png;
|
||||
displayName = "Asana";
|
||||
id = 1;
|
||||
};
|
||||
|
||||
clockodo = {
|
||||
url = "https://my.clockodo.com/en/";
|
||||
icon = ./icons/clockodo.png;
|
||||
displayName = "Clockodo";
|
||||
id = 2;
|
||||
};
|
||||
# }}}
|
||||
|
||||
gitlab = {
|
||||
url = "https://gitlab.com";
|
||||
icon = ./icons/gitlab.png;
|
||||
displayName = "Gitlab";
|
||||
id = 3;
|
||||
};
|
||||
|
||||
desmos = {
|
||||
url = "https://www.desmos.com/calculator";
|
||||
icon = ./icons/desmos.png;
|
||||
displayName = "Desmos";
|
||||
id = 4;
|
||||
};
|
||||
|
||||
monkey-type = {
|
||||
url = "https://monkeytype.com/";
|
||||
icon = ./icons/monkeytype.png;
|
||||
displayName = "Monkeytype";
|
||||
id = 5;
|
||||
};
|
||||
};
|
||||
# }}}
|
||||
};
|
||||
|
||||
# {{{ Make firefox the default
|
||||
# Use firefox as the default browser to open stuff.
|
||||
xdg.mimeApps.defaultApplications = {
|
||||
"text/html" = [ "firefox.desktop" ];
|
||||
"text/xml" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||
};
|
||||
|
||||
# Tell apps firefox is the default browser using an env var.
|
||||
home.sessionVariables.BROWSER = "firefox";
|
||||
# }}}
|
||||
|
||||
# {{{ Persistence
|
||||
home.persistence."/persist/home/adrielus".directories = [
|
||||
".cache/mozilla/firefox" # Non important cache
|
||||
".mozilla/firefox" # More important stuff
|
||||
];
|
||||
# }}}
|
||||
}
|
||||
|
BIN
home/features/desktop/firefox/icons/asana.png
Normal file
BIN
home/features/desktop/firefox/icons/asana.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 423 B |
BIN
home/features/desktop/firefox/icons/clockodo.png
Normal file
BIN
home/features/desktop/firefox/icons/clockodo.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 20 KiB |
BIN
home/features/desktop/firefox/icons/desmos.png
Normal file
BIN
home/features/desktop/firefox/icons/desmos.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 16 KiB |
BIN
home/features/desktop/firefox/icons/gitlab.png
Normal file
BIN
home/features/desktop/firefox/icons/gitlab.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 19 KiB |
BIN
home/features/desktop/firefox/icons/monkeytype.png
Normal file
BIN
home/features/desktop/firefox/icons/monkeytype.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 23 KiB |
5
home/features/desktop/firefox/userContent.css
Normal file
5
home/features/desktop/firefox/userContent.css
Normal file
|
@ -0,0 +1,5 @@
|
|||
/* add '[pdf]' next to links to PDF files */
|
||||
a[href$=".pdf"]:after {
|
||||
font-size: smaller;
|
||||
content: " [pdf]";
|
||||
}
|
14
home/features/desktop/qbittorrent.nix
Normal file
14
home/features/desktop/qbittorrent.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ pkgs, config, ... }: {
|
||||
home.packages = [
|
||||
pkgs.qbittorrent
|
||||
];
|
||||
|
||||
satellite.persistence.at.state.apps.QBittorrent.directories = [
|
||||
"${config.xdg.configHome}/qBittorrent" # Config options
|
||||
];
|
||||
|
||||
satellite.persistence.at.cache.apps.QBittorrent.directories = [
|
||||
# TODO: investigate which subdirectories/files I actually want to keep
|
||||
"${config.xdg.dataHome}/qBittorrent" # Torrent files, logs, etc
|
||||
];
|
||||
}
|
9
home/features/desktop/signal.nix
Normal file
9
home/features/desktop/signal.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{ pkgs, config, ... }: {
|
||||
home.packages = [
|
||||
pkgs.signal-desktop # Signal client
|
||||
];
|
||||
|
||||
satellite.persistence.at.state.apps.Signal.directories = [
|
||||
"${config.xdg.configHome}/Signal" # Why tf does signal store it's state here 💀
|
||||
];
|
||||
}
|
10
home/features/desktop/wakatime/default.nix
Normal file
10
home/features/desktop/wakatime/default.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{ pkgs, config, ... }: {
|
||||
homeage.file.wakatime = {
|
||||
source = ./wakatime_config.age;
|
||||
symlinks = [
|
||||
"${config.home.homeDirectory}/.wakatime.cfg"
|
||||
];
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [ wakatime ];
|
||||
}
|
8
home/features/desktop/wakatime/wakatime_config.age
Normal file
8
home/features/desktop/wakatime/wakatime_config.age
Normal file
|
@ -0,0 +1,8 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 UUF9JQ xZrl2Wl0woDhkVrg+1pI+BbWHCg3XV3T7pFoXgedR30
|
||||
+/LVZ/HO8Larngohcw1qJlNOrx81U4dUwgZjl3eSr8E
|
||||
-> ><tHMt-grease P^L r%s
|
||||
Tr98KsZbbA+iwetDDuqha/D3aNESSYJTeiziDjNrCCtQpVvdJ4+5R9UKfR3PCPcE
|
||||
dx1DrUOF1XLlEX/cjnGP02J/CsfRJXN0vqI
|
||||
--- 5zpFcCG6y7y2C8dwzwHQ8bJsIvyObCVkGovZMOLIGio
|
||||
š"DÚ‡WŒñg:ü^^ßÖôüG"I<>?¥haeä+|1õ|ó1Šm8Xíà}İ×$®Ÿ8Ì/ê0Æ·hâx¤õžÅ4=Åý›¾¨‰F ~Zèka˜Ã"Fp_á
|
8
home/features/desktop/wezterm/default.nix
Normal file
8
home/features/desktop/wezterm/default.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ pkgs, config, ... }: {
|
||||
home.packages = [ pkgs.wezterm ];
|
||||
|
||||
# Create link to config
|
||||
xdg.configFile."wezterm/colorscheme.lua".text = config.satellite.colorscheme.lua;
|
||||
xdg.configFile."wezterm/wezterm.lua".source =
|
||||
config.satellite.dev.path "home/adrielus/features/desktop/common/wezterm/wezterm.lua";
|
||||
}
|
68
home/features/desktop/wezterm/wezterm.lua
Normal file
68
home/features/desktop/wezterm/wezterm.lua
Normal file
|
@ -0,0 +1,68 @@
|
|||
-- {{{ Import stuff & create config object
|
||||
local wezterm = require("wezterm")
|
||||
local colorscheme = require("colorscheme") -- injected by nix!
|
||||
|
||||
-- This table will hold the configuration.
|
||||
local config = {}
|
||||
|
||||
-- In newer versions of wezterm, use the config_builder which will
|
||||
-- help provide clearer error messages
|
||||
if wezterm.config_builder then
|
||||
config = wezterm.config_builder()
|
||||
end
|
||||
-- }}}
|
||||
|
||||
local font_size = 20.0
|
||||
|
||||
-- {{{ Theming
|
||||
config.colors = wezterm.color.load_base16_scheme(colorscheme.source)
|
||||
|
||||
-- {{{ Window frame
|
||||
config.window_frame = {
|
||||
font = wezterm.font({ family = colorscheme.fonts.monospace }),
|
||||
font_size = font_size,
|
||||
active_titlebar_bg = colorscheme.base00,
|
||||
inactive_titlebar_bg = colorscheme.base00,
|
||||
}
|
||||
-- }}}
|
||||
-- {{{ Tab bar colors
|
||||
config.colors.tab_bar = {
|
||||
background = colorscheme.base02,
|
||||
active_tab = {
|
||||
bg_color = colorscheme.base0A,
|
||||
fg_color = colorscheme.base00,
|
||||
},
|
||||
inactive_tab = {
|
||||
bg_color = colorscheme.base02,
|
||||
fg_color = colorscheme.base05,
|
||||
},
|
||||
inactive_tab_hover = {
|
||||
bg_color = colorscheme.base01,
|
||||
fg_color = colorscheme.base05,
|
||||
},
|
||||
new_tab = {
|
||||
bg_color = colorscheme.base02,
|
||||
fg_color = colorscheme.base05,
|
||||
},
|
||||
new_tab_hover = {
|
||||
bg_color = colorscheme.base02,
|
||||
fg_color = colorscheme.base05,
|
||||
italic = true,
|
||||
},
|
||||
}
|
||||
-- }}}
|
||||
-- }}}
|
||||
-- {{{ Main config options
|
||||
config.adjust_window_size_when_changing_font_size = false -- Makes it work with fixed window sizes.
|
||||
config.automatically_reload_config = true
|
||||
config.font_size = font_size
|
||||
config.use_fancy_tab_bar = false
|
||||
config.disable_default_key_bindings = true
|
||||
-- config.enable_kitty_keyboard = true -- Let's apps recognise more distinct keys
|
||||
config.enable_csi_u_key_encoding = true -- For some reason I need this for all keybinds to work inside neovim.
|
||||
-- }}}
|
||||
-- {{{ Keybinds
|
||||
-- }}}
|
||||
|
||||
-- and finally, return the configuration to wezterm
|
||||
return config
|
25
home/features/desktop/zathura.nix
Normal file
25
home/features/desktop/zathura.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ config, pkgs, ... }:
|
||||
let base16-zathura = config.lib.stylix.colors {
|
||||
templateRepo = pkgs.fetchFromGitHub {
|
||||
owner = "doenerkebap";
|
||||
repo = "base16-zathura";
|
||||
sha256 = "1zcrzll13d4lmyzibwdqkkdssyhr3c9s4yxhqigg3azsizk8adb4";
|
||||
rev = "2caef8fff6a5412e05950c6105c5020a6f16ead2";
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
programs.zathura = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
# Generated theme
|
||||
include ${base16-zathura}
|
||||
|
||||
# Open document in fit-width mode by default
|
||||
set adjust-open "best-fit"
|
||||
|
||||
# Inject font
|
||||
set font "${config.stylix.fonts.sansSerif.name}"
|
||||
'';
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue