summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorbeeb5k <beebeeb5k@gmail.com>2026-06-02 00:06:57 +0530
committerbeeb5k <beebeeb5k@gmail.com>2026-06-02 00:06:57 +0530
commit2519d3fc4f3df771fc90f356064ec6ca4a17203a (patch)
tree2f12ea61429cd2e277dcdcebba857ccf96a8087d /common
parentdfc891bcf1a87d09cc656d098e4f25b9a5134ac5 (diff)
update was needed
Diffstat (limited to 'common')
-rw-r--r--common/modules/beevim/default.nix45
-rw-r--r--common/modules/default.nix1
-rw-r--r--common/modules/emacs/default.nix33
-rw-r--r--common/modules/emacs/doom/config.el75
-rw-r--r--common/modules/emacs/doom/init.el199
-rw-r--r--common/modules/emacs/doom/packages.el54
-rw-r--r--common/modules/window_managers/mango/default.nix253
-rw-r--r--common/overlays/default.nix1
-rw-r--r--common/overlays/ioskeleyInput.nix366
-rw-r--r--common/overlays/ioskeleyMono.nix150
-rw-r--r--common/programs/firefox.nix181
-rw-r--r--common/programs/fish.nix2
-rw-r--r--common/programs/zenBrowser.nix203
13 files changed, 468 insertions, 1095 deletions
diff --git a/common/modules/beevim/default.nix b/common/modules/beevim/default.nix
deleted file mode 100644
index 49b66c4..0000000
--- a/common/modules/beevim/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- homeManager,
- inputs,
- moduleNameSpace,
- ...
-}:
-{
- pkgs,
- config,
- lib,
- ...
-}:
-let
- cfg = config.${moduleNameSpace}.beeVim;
-in
-{
- imports = lib.optionals homeManager [
- inputs.beeVim.homeModules.default
- ];
-
- options.${moduleNameSpace}.beeVim = {
- enable = lib.mkEnableOption "Enable neovim config";
- };
-
- config = lib.mkIf cfg.enable (
- lib.optionalAttrs homeManager {
- beeVim = {
- enable = true;
- packageDefinitions.replace = builtins.mapAttrs (
- n: _:
- { pkgs, ... }:
- {
- settings = {
- neovim-unwrapped = pkgs.neovim-unwrapped;
- };
- categories = {
- clang = false;
- markdown = false;
- };
- }
- ) inputs.beeVim.packages.${pkgs.stdenv.hostPlatform.system}.default.packageDefinitions;
- };
- }
- );
-}
diff --git a/common/modules/default.nix b/common/modules/default.nix
index 0925ffd..16ef1cb 100644
--- a/common/modules/default.nix
+++ b/common/modules/default.nix
@@ -12,7 +12,6 @@ let
windowManagers = import ./window_managers args;
terminal = import ./terminal args;
matugen = import ./matugen args;
- emacs = import ./emacs args;
};
in
modules
diff --git a/common/modules/emacs/default.nix b/common/modules/emacs/default.nix
deleted file mode 100644
index 4566f57..0000000
--- a/common/modules/emacs/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- homeManager,
- inputs,
- moduleNameSpace,
- ...
-}:
-{
- pkgs,
- config,
- lib,
- ...
-}:
-let
- cfg = config.${moduleNameSpace}.emacs;
-in
-{
- imports = lib.optionals homeManager [
- inputs.nix-doom-emacs-unstraightened.homeModule
- ];
-
- options.${moduleNameSpace}.emacs = {
- enable = lib.mkEnableOption "Enable emacs";
- };
-
- config = lib.mkIf cfg.enable (
- lib.optionalAttrs homeManager {
- programs.doom-emacs = {
- enable = true;
- doomDir = ./doom; # or e.g. `./doom.d` for a local configuration
- };
- }
- );
-}
diff --git a/common/modules/emacs/doom/config.el b/common/modules/emacs/doom/config.el
deleted file mode 100644
index 5308e62..0000000
--- a/common/modules/emacs/doom/config.el
+++ /dev/null
@@ -1,75 +0,0 @@
-;;; $DOOMDIR/config.el -*- lexical-binding: t; -*-
-
-;; Place your private configuration here! Remember, you do not need to run 'doom
-;; sync' after modifying this file!
-
-
-;; Some functionality uses this to identify you, e.g. GPG configuration, email
-;; clients, file templates and snippets. It is optional.
-;; (setq user-full-name "John Doe"
-;; user-mail-address "john@doe.com")
-
-;; Doom exposes five (optional) variables for controlling fonts in Doom:
-;;
-;; - `doom-font' -- the primary font to use
-;; - `doom-variable-pitch-font' -- a non-monospace font (where applicable)
-;; - `doom-big-font' -- used for `doom-big-font-mode'; use this for
-;; presentations or streaming.
-;; - `doom-symbol-font' -- for symbols
-;; - `doom-serif-font' -- for the `fixed-pitch-serif' face
-;;
-;; See 'C-h v doom-font' for documentation and more examples of what they
-;; accept. For example:
-;;
-(setq doom-font (font-spec :family "IosevkaInput" :size 14 :weight 'semi-light)
- doom-variable-pitch-font (font-spec :family "IosevkaInput" :size 15))
-;;
-;; If you or Emacs can't find your font, use 'M-x describe-font' to look them
-;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
-;; refresh your font settings. If Emacs still can't find your font, it likely
-;; wasn't installed correctly. Font issues are rarely Doom issues!
-
-;; There are two ways to load a theme. Both assume the theme is installed and
-;; available. You can either set `doom-theme' or manually load a theme with the
-;; `load-theme' function. This is the default:
-(setq doom-theme 'doom-one)
-
-;; This determines the style of line numbers in effect. If set to `nil', line
-;; numbers are disabled. For relative line numbers, set this to `relative'.
-(setq display-line-numbers-type t)
-
-;; If you use `org' and don't want your org files in the default location below,
-;; change `org-directory'. It must be set before org loads!
-(setq org-directory "~/org/")
-
-
-;; Whenever you reconfigure a package, make sure to wrap your config in an
-;; `with-eval-after-load' block, otherwise Doom's defaults may override your
-;; settings. E.g.
-;;
-;; (with-eval-after-load 'PACKAGE
-;; (setq x y))
-;;
-;; The exceptions to this rule:
-;;
-;; - Setting file/directory variables (like `org-directory')
-;; - Setting variables which explicitly tell you to set them before their
-;; package is loaded (see 'C-h v VARIABLE' to look them up).
-;; - Setting doom variables (which start with 'doom-' or '+').
-;;
-;; Here are some additional functions/macros that will help you configure Doom.
-;;
-;; - `load!' for loading external *.el files relative to this one
-;; - `add-load-path!' for adding directories to the `load-path', relative to
-;; this file. Emacs searches the `load-path' when you load packages with
-;; `require' or `use-package'.
-;; - `map!' for binding new keys
-;;
-;; To get information about any of these functions/macros, move the cursor over
-;; the highlighted symbol at press 'K' (non-evil users must press 'C-c c k').
-;; This will open documentation for it, including demos of how they are used.
-;; Alternatively, use `C-h o' to look up a symbol (functions, variables, faces,
-;; etc).
-;;
-;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how
-;; they are implemented.
diff --git a/common/modules/emacs/doom/init.el b/common/modules/emacs/doom/init.el
deleted file mode 100644
index 34d9172..0000000
--- a/common/modules/emacs/doom/init.el
+++ /dev/null
@@ -1,199 +0,0 @@
-;;; init.el -*- lexical-binding: t; -*-
-
-;; This file controls what Doom modules are enabled and what order they load
-;; in. Remember to run 'doom sync' after modifying it!
-
-;; NOTE: Press 'SPC h d h' (or 'C-h d h' for non-vim users) to access Doom's
-;; documentation. There you'll find a link to Doom's Module Index where all of
-;; our modules are listed, including what flags they support.
-
-;; NOTE: Move your cursor over a module's name (or its flags) and press 'K' (or
-;; 'C-c c k' for non-vim users) to view its documentation. This works on flags
-;; as well (those symbols that start with a plus).
-;;
-;; Alternatively, press 'gd' (or 'C-c c d') on a module to browse its
-;; directory (for easy access to its source code).
-
-(doom! :input
- ;;bidi ; (tfel ot) thgir etirw uoy gnipleh
- ;;chinese
- ;;japanese
- ;;layout ; auie,ctsrnm is the superior home row
-
- :completion
- ;;company ; the ultimate code completion backend
- (corfu +orderless) ; complete with cap(f), cape and a flying feather!
- ;;helm ; the *other* search engine for love and life
- ;;ido ; the other *other* search engine...
- ;;ivy ; a search engine for love and life
- vertico ; the search engine of the future
-
- :ui
- ;;deft ; notational velocity for Emacs
- doom ; what makes DOOM look the way it does
- dashboard ; a nifty splash screen for Emacs
- ;;doom-quit ; DOOM quit-message prompts when you quit Emacs
- ;;(emoji +unicode) ; 🙂
- hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
- ;;indent-guides ; highlighted indent columns
- ;;ligatures ; ligatures and symbols to make your code pretty again
- ;;minimap ; show a map of the code on the side
- modeline ; snazzy, Atom-inspired modeline, plus API
- ;;nav-flash ; blink cursor line after big motions
- ;;neotree ; a project drawer, like NERDTree for vim
- ophints ; highlight the region an operation acts on
- (popup +defaults) ; tame sudden yet inevitable temporary windows
- ;;smooth-scroll ; So smooth you won't believe it's not butter
- ;;tabs ; a tab bar for Emacs
- ;;treemacs ; a project drawer, like neotree but cooler
- ;;unicode ; extended unicode support for various languages
- (vc-gutter +pretty) ; vcs diff in the fringe
- vi-tilde-fringe ; fringe tildes to mark beyond EOB
- ;;window-select ; visually switch windows
- workspaces ; tab emulation, persistence & separate workspaces
- ;;zen ; distraction-free coding or writing
-
- :editor
- (evil +everywhere); come to the dark side, we have cookies
- file-templates ; auto-snippets for empty files
- fold ; (nigh) universal code folding
- ;;(format +onsave) ; automated prettiness
- ;;god ; run Emacs commands without modifier keys
- ;;lispy ; vim for lisp, for people who don't like vim
- ;;multiple-cursors ; editing in many places at once
- ;;objed ; text object editing for the innocent
- ;;parinfer ; turn lisp into python, sort of
- ;;rotate-text ; cycle region at point between text candidates
- snippets ; my elves. They type so I don't have to
- (whitespace +guess +trim) ; a butler for your whitespace
- ;;word-wrap ; soft wrapping with language-aware indent
-
- :emacs
- dired ; making dired pretty [functional]
- electric ; smarter, keyword-based electric-indent
- ;;eww ; the internet is gross
- ;;ibuffer ; interactive buffer management
- tramp ; remote files at your arthritic fingertips
- undo ; persistent, smarter undo for your inevitable mistakes
- vc ; version-control and Emacs, sitting in a tree
-
- :term
- ;;eshell ; the elisp shell that works everywhere
- ;;shell ; simple shell REPL for Emacs
- ;;term ; basic terminal emulator for Emacs
- ;;vterm ; the best terminal emulation in Emacs
-
- :checkers
- syntax ; tasing you for every semicolon you forget
- ;;(spell +flyspell) ; tasing you for misspelling mispelling
- ;;grammar ; tasing grammar mistake every you make
-
- :tools
- ;;ansible
- ;;biblio ; Writes a PhD for you (citation needed)
- ;;collab ; buffers with friends
- ;;debugger ; stepping through code, to help you add bugs
- ;;direnv
- ;;docker
- ;;editorconfig ; let someone else argue about tabs vs spaces
- ;;ein ; tame Jupyter notebooks with emacs
- (eval +overlay) ; run code, run (also, repls)
- lookup ; navigate your code and its documentation
- ;;llm ; when I said you needed friends, I didn't mean...
- (lsp +eglot) ; M-x vscode
- magit ; a git porcelain for Emacs
- ;;make ; run make tasks from Emacs
- ;;pass ; password manager for nerds
- ;;pdf ; pdf enhancements
- ;;terraform ; infrastructure as code
- ;;tmux ; an API for interacting with tmux
- tree-sitter ; syntax and parsing, sitting in a tree...
- ;;upload ; map local to remote projects via ssh/ftp
-
- :os
- (:if (featurep :system 'macos) macos) ; improve compatibility with macOS
- ;;tty ; improve the terminal Emacs experience
-
- :lang
- ;;ada ; In strong typing we (blindly) trust
- ;;(agda +local) ; types of types of types of types...
- ;;beancount ; mind the GAAP
- (cc +lsp) ; C > C++ == 1
- ;;clojure ; java with a lisp
- ;;common-lisp ; if you've seen one lisp, you've seen them all
- ;;coq ; proofs-as-programs
- ;;crystal ; ruby at the speed of c
- ;;csharp ; unity, .NET, and mono shenanigans
- ;;data ; config/data formats
- ;;(dart +flutter) ; paint ui and not much else
- ;;dhall
- ;;elixir ; erlang done right
- ;;elm ; care for a cup of TEA?
- emacs-lisp ; drown in parentheses
- ;;erlang ; an elegant language for a more civilized age
- ;;ess ; emacs speaks statistics
- ;;factor
- ;;faust ; dsp, but you get to keep your soul
- ;;fortran ; in FORTRAN, GOD is REAL (unless declared INTEGER)
- ;;fsharp ; ML stands for Microsoft's Language
- ;;fstar ; (dependent) types and (monadic) effects and Z3
- ;;gdscript ; the language you waited for
- ;;(go +lsp) ; the hipster dialect
- ;;(graphql +lsp) ; Give queries a REST
- ;;(haskell +lsp) ; a language that's lazier than I am
- ;;hy ; readability of scheme w/ speed of python
- ;;idris ; a language you can depend on
- ;;json ; At least it ain't XML
- ;;janet ; Fun fact: Janet is me!
- ;;(java +lsp) ; the poster child for carpal tunnel syndrome
- ;;javascript ; all(hope(abandon(ye(who(enter(here))))))
- ;;julia ; a better, faster MATLAB
- ;;kotlin ; a better, slicker Java(Script)
- ;;latex ; writing papers in Emacs has never been so fun
- ;;lean ; for folks with too much to prove
- ;;ledger ; be audit you can be
- ;;lua ; one-based indices? one-based indices
- markdown ; writing docs for people to ignore
- ;;nim ; python + lisp at the speed of c
- nix ; I hereby declare "nix geht mehr!"
- ;;ocaml ; an objective camel
- ;;odin ; C, minus its footguns
- org ; organize your plain life in plain text
- ;;php ; perl's insecure younger brother
- ;;plantuml ; diagrams for confusing people more
- ;;graphviz ; diagrams for confusing yourself even more
- ;;purescript ; javascript, but functional
- ;;python ; beautiful is better than ugly
- ;;qt ; the 'cutest' gui framework ever
- ;;racket ; a DSL for DSLs
- ;;raku ; the artist formerly known as perl6
- ;;rest ; Emacs as a REST client
- ;;rst ; ReST in peace
- ;;(ruby +rails) ; 1.step {|i| p "Ruby is #{i.even? ? 'love' : 'life'}"}
- (rust +lsp) ; Fe2O3.unwrap().unwrap().unwrap().unwrap()
- ;;scala ; java, but good
- ;;(scheme +guile) ; a fully conniving family of lisps
- sh ; she sells {ba,z,fi}sh shells on the C xor
- ;;sml
- ;;solidity ; do you need a blockchain? No.
- ;;swift ; who asked for emoji variables?
- ;;terra ; Earth and Moon in alignment for performance.
- ;;web ; the tubes
- ;;yaml ; JSON, but readable
- zig ; C, but simpler
-
- :email
- ;;(mu4e +org +gmail)
- ;;notmuch
- ;;(wanderlust +gmail)
-
- :app
- ;;calendar
- ;;emms
- ;;everywhere ; *leave* Emacs!? You must be joking
- ;;irc ; how neckbeards socialize
- ;;(rss +org) ; emacs as an RSS reader
-
- :config
- ;;literate
- (default +bindings +smartparens))
diff --git a/common/modules/emacs/doom/packages.el b/common/modules/emacs/doom/packages.el
deleted file mode 100644
index d2680fe..0000000
--- a/common/modules/emacs/doom/packages.el
+++ /dev/null
@@ -1,54 +0,0 @@
-;; -*- no-byte-compile: t; -*-
-;;; $DOOMDIR/packages.el
-
-;; To install a package:
-;;
-;; 1. Declare them here in a `package!' statement,
-;; 2. Run 'doom sync' in the shell,
-;; 3. Restart Emacs.
-;;
-;; Use 'C-h f package\!' to look up documentation for the `package!' macro.
-
-
-;; To install SOME-PACKAGE from MELPA, ELPA or emacsmirror:
-;; (package! some-package)
-
-;; To install a package directly from a remote git repo, you must specify a
-;; `:recipe'. You'll find documentation on what `:recipe' accepts here:
-;; https://github.com/radian-software/straight.el#the-recipe-format
-;; (package! another-package
-;; :recipe (:host github :repo "username/repo"))
-
-;; If the package you are trying to install does not contain a PACKAGENAME.el
-;; file, or is located in a subdirectory of the repo, you'll need to specify
-;; `:files' in the `:recipe':
-;; (package! this-package
-;; :recipe (:host github :repo "username/repo"
-;; :files ("some-file.el" "src/lisp/*.el")))
-
-;; If you'd like to disable a package included with Doom, you can do so here
-;; with the `:disable' property:
-;; (package! builtin-package :disable t)
-
-;; You can override the recipe of a built in package without having to specify
-;; all the properties for `:recipe'. These will inherit the rest of its recipe
-;; from Doom or MELPA/ELPA/Emacsmirror:
-;; (package! builtin-package :recipe (:nonrecursive t))
-;; (package! builtin-package-2 :recipe (:repo "myfork/package"))
-
-;; Specify a `:branch' to install a package from a particular branch or tag.
-;; This is required for some packages whose default branch isn't 'master' (which
-;; our package manager can't deal with; see radian-software/straight.el#279)
-;; (package! builtin-package :recipe (:branch "develop"))
-
-;; Use `:pin' to specify a particular commit to install.
-;; (package! builtin-package :pin "1a2b3c4d5e")
-
-
-;; Doom's packages are pinned to a specific commit and updated from release to
-;; release. The `unpin!' macro allows you to unpin single packages...
-;; (unpin! pinned-package)
-;; ...or multiple packages
-;; (unpin! pinned-package another-pinned-package)
-;; ...Or *all* packages (NOT RECOMMENDED; will likely break things)
-;; (unpin! t)
diff --git a/common/modules/window_managers/mango/default.nix b/common/modules/window_managers/mango/default.nix
index 73db1ab..11ac08f 100644
--- a/common/modules/window_managers/mango/default.nix
+++ b/common/modules/window_managers/mango/default.nix
@@ -47,69 +47,31 @@ in
systemd.variables = [ "--all" ];
extraConfig = ''
${lib.optionalString (config.beeMods.matugen.enable) ''
- source = ~/.config/mango/noctalia.conf
+ source = ~/.config/mango/colors.conf
''}
- # Window effect
- blur=${if cfg.eyeCandy.window.blur.enable then "1" else "0"}
- blur_layer=0
- blur_optimized=1
- blur_params_num_passes = ${toString cfg.eyeCandy.window.blur.passes}
- blur_params_radius = ${toString cfg.eyeCandy.window.blur.radius}
- blur_params_noise = 0.02
- blur_params_brightness = 0.9
- blur_params_contrast = 0.9
- blur_params_saturation = 1.2
-
- shadows=${if cfg.eyeCandy.window.shadows.enable then "1" else "0"}
- layer_shadows = 0
- shadow_only_floating = 1
- shadows_size = 10
- shadows_blur = 15
- shadows_position_x = 0
- shadows_position_y = 0
-
- border_radius=${toString cfg.eyeCandy.window.borderRadius}
- no_radius_when_single=0
-
- ${
- if (cfg.eyeCandy.window.blur.enable && cfg.eyeCandy.window.opacity == 1.0) then
- ''
- focused_opacity=0.82
- unfocused_opacity=0.82
- ''
- else
- ''
- focused_opacity=${toString cfg.eyeCandy.window.opacity}
- unfocused_opacity=${toString cfg.eyeCandy.window.opacity}
- ''
- }
-
- # Animation Configuration(support type:zoom,slide)
- # tag_animation_direction: 1-horizontal,0-vertical
- animations=${if cfg.eyeCandy.animations.enable then "1" else "0"}
- layer_animations=0
- animation_type_open=slide
- animation_type_close=zoom
- animation_fade_in=0
- animation_fade_out=1
- tag_animation_direction=1
- zoom_initial_ratio=0.8
- zoom_end_ratio=0.8
- fadein_begin_opacity=0.5
- fadeout_begin_opacity=0.5
- animation_duration_move=250
- animation_duration_open=250
- animation_duration_tag=250
- animation_duration_close=100
- animation_duration_focus=0
- animation_curve_open=0.05,0.7,0.1,1.0
- animation_curve_move=0.46,1.0,0.29,1
- animation_curve_tag=0.46,1.0,0.29,1
- animation_curve_close=0.0,0.0,1.0,1.0
- animation_curve_focus=0.05,0.7,0.1,1.0
- animation_curve_opafadeout=0.5,0.5,0.5,0.5
- animation_curve_opafadein=0.46,1.0,0.29,1
+ # blur=1
+ # blur_layer=0
+ # blur_optimized=1
+ # blur_params_num_passes = 3
+ # blur_params_radius = 12
+ # blur_params_noise = 0.02
+ # blur_params_brightness = 0.9
+ # blur_params_contrast = 0.9
+ # blur_params_saturation = 1.1
+ #
+ # shadows=0
+ # layer_shadows = 0
+ # shadow_only_floating = 1
+ # shadows_size = 10
+ # shadows_blur = 15
+ # shadows_position_x = 0
+ # shadows_position_y = 0
+ #
+ # border_radius=0
+ # no_radius_when_single=0
+ # focused_opacity=0.90
+ # unfocused_opacity=0.90
# Scroller configuration
scroller_structs=15
@@ -123,14 +85,14 @@ in
# Master-Stack Layout Setting
new_is_master=0
- default_mfact=0.56
+ default_mfact=0.55
default_nmaster=1
smartgaps=0
# Overview Setting
hotarea_size=10
enable_hotarea=0
- ov_tab_mode=0
+ ov_tab_mode=1
overviewgappi=5
overviewgappo=30
@@ -145,11 +107,10 @@ in
focus_cross_tag=0
enable_floating_snap=0
snap_distance=30
- # cursor_size=24
drag_tile_to_tile=1
xwayland_persistence=0
- syncobj_enable=0
- allow_tearing=0
+ syncobj_enable=1
+ allow_tearing=2
# keyboard
repeat_delay=300;
@@ -169,104 +130,59 @@ in
middle_button_emulation=0
swipe_min_threshold=1
- # mouse
- # need relogin to make it apply
mouse_natural_scrolling=0
- windowrule=tags:1,appid:^(foot|footclient|alacritty|dev.zed.Zed)$
- windowrule=tags:2,appid:^(zen|firefox|obsidian)$
- windowrule=tags:3,appid:^(vesktop|discord|thunderbird|Element|equibop)$
- windowrule=tags:4,appid:^steam$
-
- windowrule=scroller_proportion:0.3,appid:^steam$,title:^Friends List$
- windowrule=scroller_proportion:0.5,appid:^steam$,title:.*(Settings|Properties).*
- windowrule=isfloating:1,appid:^steam$,title:^Steam - News$
- windowrule=isfloating:1,appid:^(org.gnome.Calculator|org.pulseaudio.pavucontrol)$
- windowrule=isoverlay:1,appid:^com.gabm.satty$
-
- # Appearance
- gappih=5
- gappiv=5
- gappoh=5
- gappov=5
+ gappih=4
+ gappiv=4
+ gappoh=4
+ gappov=4
scratchpad_width_ratio=0.8
scratchpad_height_ratio=0.9
borderpx=2
- # layout support:
- # tile,scroller,grid,deck,monocle,center_tile,vertical_tile,vertical_scroller
- tagrule=id:1,layout_name:tgmix
- tagrule=id:2,layout_name:scroller
- tagrule=id:3,layout_name:scroller
- tagrule=id:4,layout_name:scroller
- tagrule=id:5,layout_name:grid
- tagrule=id:6,layout_name:tile
- tagrule=id:7,layout_name:tile
- tagrule=id:8,layout_name:tile
- tagrule=id:9,layout_name:tile
-
- # Key Bindings
- # key name refer to `xev` or `wev` command output,
- # mod keys name: super,ctrl,alt,shift,none
-
- # reload config
+ #Keymaps
bind=SUPER,r,reload_config
+ bind=SUPER,Return,spawn,foot
+ bind=SUPER,y,spawn,/home/beeb5k/.local/share/bee/dostuff wall
+ bind=SUPER,a,spawn,rofi -show drun
+ bind=SUPER,c,spawn,sh -c 'dunstify "$(date)"'
+ bind=SUPER,comma,spawn,/home/beeb5k/.local/share/bee/dostuff settings
- bind=SUPER,Return,spawn,${scripts.terminal}
-
- bind=SUPER,v,spawn,noctalia-shell ipc call launcher clipboard
- bind=SUPER,a,spawn,noctalia-shell ipc call launcher toggle
- bind=SUPER,y,spawn,noctalia-shell ipc call wallpaper toggle
- bind=SUPER,comma,spawn,noctalia-shell ipc call settings toggle
- bind=SUPER,n,spawn,noctalia-shell ipc call notifications toggleHistory
- bind=SUPER,Period,spawn,noctalia-shell ipc call launcher emoji
-
- bind=ALT,F4,spawn,noctalia-shell ipc call sessionMenu toggle
bind=SUPER,F12,spawn,gnome-calculator
- bind=SUPER,b,spawn,zen
- bind=SUPER,e,spawn,nautilus
+ bind=SUPER,b,spawn,librewolf
+ bind=SUPER,e,spawn,pcmanfm
- # exit
bind=SUPER,m,quit
bind=SUPER,q,killclient,
- # switch window focus
bind=SUPER,h,focusdir,left
bind=SUPER,l,focusdir,right
bind=SUPER,k,focusdir,up
bind=SUPER,j,focusdir,down
- bind=NONE,Print,spawn,${snip} full
- bind=SUPER,Print,spawn,${snip} selection
- bind=SUPER+SHIFT,Print,spawn,${snip} window
+ bind=NONE,Print,spawn,/home/beeb5k/.config/mango/screenshot full
+ bind=SUPER,Print,spawn,/home/beeb5k/.config/mango/screenshot selection
+ bind=SUPER+SHIFT,Print,spawn,/home/beeb5k/.config/mango/screenshot window
- # swap window
bind=SUPER+SHIFT,k,exchange_client,up
bind=SUPER+SHIFT,j,exchange_client,down
bind=SUPER+SHIFT,h,exchange_client,left
bind=SUPER+SHIFT,l,exchange_client,right
- # switch window status
bind=SUPER,g,toggleglobal,
bind=ALT,Tab,toggleoverview,
bind=SUPER,space,togglefloating,
- bind=ALT,a,togglemaximizescreen,
- bind=SUPER,f,toggle_all_floating,
- bind=ALT,f,togglefullscreen,
+ bind=SUPER,d,togglemaximizescreen,
+ bind=SUPER,f,togglefullscreen,
bind=ALT+SHIFT,f,togglefakefullscreen,
bind=SUPER,i,minimized,
bind=SUPER,o,toggleoverlay,
bind=SUPER+SHIFT,I,restore_minimized
- bind=ALT,z,toggle_scratchpad
+ bind=SUPER,s,toggle_scratchpad
- # scroller layout
bind=ALT,e,set_proportion,1.0
bind=ALT,x,switch_proportion_preset,
- # switch layout
- # bind=SUPER,n,switch_layout
-
- # tag switch
bind=SUPER,1,view,1,0
bind=SUPER,2,view,2,0
bind=SUPER,3,view,3,0
@@ -277,9 +193,6 @@ in
bind=SUPER,8,view,8,0
bind=SUPER,9,view,9,0
- # tag: move client to the tag and focus it
- # tagsilent: move client to the tag and not focus it
- # bind=Alt,1,tagsilent,1
bind=SUPER+SHIFT,1,tag,1,0
bind=SUPER+SHIFT,2,tag,2,0
bind=SUPER+SHIFT,3,tag,3,0
@@ -290,43 +203,34 @@ in
bind=SUPER+SHIFT,8,tag,8,0
bind=SUPER+SHIFT,9,tag,9,0
- # monitor switch
bind=alt+shift,Left,focusmon,left
bind=alt+shift,Right,focusmon,right
bind=SUPER+Alt,Left,tagmon,left
bind=SUPER+Alt,Right,tagmon,right
- # gaps
- bind=ALT+SHIFT,X,incgaps,1
- bind=ALT+SHIFT,Z,incgaps,-1
- bind=ALT+SHIFT,R,togglegaps
-
- # movewin
bind=SUPER,Up,movewin,+0,-50
bind=SUPER,Down,movewin,+0,+50
bind=SUPER,Left,movewin,-50,+0
bind=SUPER,Right,movewin,+50,+0
- # resizewin
bind=ALT,k,resizewin,+0,-50
bind=ALT,j,resizewin,+0,+50
bind=ALT,h,resizewin,-50,+0
bind=ALT,l,resizewin,+50,+0
- # Volume Control (using wpctl/Pipewire)
- bind=NONE,XF86AudioRaiseVolume,spawn,wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+
- bind=NONE,XF86AudioLowerVolume,spawn,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
- bind=NONE,XF86AudioMute,spawn,wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
+ bind=NONE,XF86AudioRaiseVolume,spawn,/home/beeb5k/.local/share/bee/dostuff volume up
+ bind=NONE,XF86AudioLowerVolume,spawn,/home/beeb5k/.local/share/bee/dostuff volume down
+ bind=NONE,XF86AudioMute,spawn,/home/beeb5k/.local/share/bee/dostuff volume mute
bind=NONE,XF86AudioPlay,spawn,playerctl play-pause
bind=NONE,XF86AudioNext,spawn,playerctl next
bind=NONE,XF86AudioPrev,spawn,playerctl previous
bind=NONE,XF86AudioStop,spawn,playerctl stop
- bind=NONE,XF86AudioMicMute,spawn,wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
+ bind=NONE,XF86AudioMicMute,spawn,/home/beeb5k/.local/share/bee/dostuff mic toggle
- bind=NONE,XF86MonBrightnessUp,spawn,brightnessctl set +5%
- bind=NONE,XF86MonBrightnessDown,spawn,brightnessctl set 5%-
+ bind=NONE,XF86MonBrightnessUp,spawn,/home/beeb5k/.local/share/bee/dostuff brightness up
+ bind=NONE,XF86MonBrightnessDown,spawn,/home/beeb5k/.local/share/bee/dostuff brightness down
mousebind=SUPER,btn_left,moveresize,curmove
mousebind=NONE,btn_middle,togglemaximizescreen,0
@@ -335,20 +239,67 @@ in
axisbind=SUPER,UP,viewtoleft_have_client
axisbind=SUPER,DOWN,viewtoright_have_client
- layerrule=noanim:1,layer_name:^dms
+ windowrule=tags:1,appid:^(zen|firefox|librewolf|obsidian)$
+ windowrule=tags:2,appid:^(foot|footclient|alacritty|dev.zed.Zed)$
+ windowrule=tags:3,appid:^(vesktop|discord|thunderbird|Element|equibop)$
+ windowrule=tags:4,appid:^steam$
- env=NIXOS_OZONE_WL,1
- env=QT_AUTO_SCREEN_SCALE_FACTOR,1
+ windowrule=scroller_proportion:0.3,appid:^steam$,title:^Friends List$
+ windowrule=scroller_proportion:0.5,appid:^steam$,title:.*(Settings|Properties).*
+ windowrule=isfloating:1,appid:^steam$,title:^Steam - News$
+ windowrule=isfloating:1,appid:^(org.gnome.Calculator|org.pulseaudio.pavucontrol|Pinentry-gtk)$
+ windowrule=isoverlay:1,appid:^com.gabm.satty$
+
+ # Tag rules
+ tagrule=id:1,layout_name:scroller
+ tagrule=id:2,layout_name:fair
+ tagrule=id:3,layout_name:scroller
+ tagrule=id:4,layout_name:scroller
+ tagrule=id:5,layout_name:grid
+ tagrule=id:6,layout_name:tile
+ tagrule=id:7,layout_name:tile
+ tagrule=id:8,layout_name:tile
+ tagrule=id:9,layout_name:tile
+
+ env=XCURSOR_THEME, Bibata-Modern-Ice
+ env=XCURSOR_SIZE, 24
env=ELECTRON_OZONE_PLATFORM_HINT,auto
+ env=QT_QPA_PLATFORMTHEME,qt6ct
env=QT_QPA_PLATFORM,wayland
+ env=QT_AUTO_SCREEN_SCALE_FACTOR,1
env=XDG_SESSION_TYPE,wayland
env=GDK_BACKEND,wayland,x11
env=GDK_SCALE,1
+ env=XCURSOR_PATH,/usr/share/icons
+ env=NVD_BACKEND,direct
+
+ animations=0
+ layer_animations=0
+ animation_type_open=slide
+ animation_type_close=zoom
+ animation_fade_in=0
+ animation_fade_out=1
+ tag_animation_direction=1
+ zoom_initial_ratio=0.8
+ zoom_end_ratio=0.8
+ fadein_begin_opacity=0.5
+ fadeout_begin_opacity=0.5
+ animation_duration_move=200
+ animation_duration_open=200
+ animation_duration_tag=150
+ animation_duration_close=100
+ animation_duration_focus=0
+ animation_curve_open=0.05,0.7,0.1,1.0
+ animation_curve_move=0.46,1.0,0.29,1
+ animation_curve_tag=0.46,1.0,0.29,1
+ animation_curve_close=0.0,0.0,1.0,1.0
+ animation_curve_focus=0.05,0.7,0.1,1.0
+ animation_curve_opafadeout=0.5,0.5,0.5,0.5
+ animation_curve_opafadein=0.46,1.0,0.29,1
'';
autostart_sh = ''
wl-paste --type text --watch cliphist store &
gnome-keyring-daemon --start --components=secrets,ssh,pkcs11 &
- noctalia-shell &
${lib.optionalString (config.beeMods.windowManagers.dwm.enable) ''
systemctl --user stop xidlehook.service
diff --git a/common/overlays/default.nix b/common/overlays/default.nix
index 9897e21..d111fe7 100644
--- a/common/overlays/default.nix
+++ b/common/overlays/default.nix
@@ -1,7 +1,6 @@
{ inputs, ... }:
{
flake.overlays = {
- ioskeleyMono = import ./ioskeleyMono.nix;
iosevkaInput = import ./ioskeleyInput.nix;
qt6ct = import ./qt6ct.nix;
};
diff --git a/common/overlays/ioskeleyInput.nix b/common/overlays/ioskeleyInput.nix
index b9e1145..3915f14 100644
--- a/common/overlays/ioskeleyInput.nix
+++ b/common/overlays/ioskeleyInput.nix
@@ -1,195 +1,187 @@
final: prev: {
ioskeley-input = prev.iosevka.override {
- set = "IosevkaInput";
- privateBuildPlan = {
- family = "IosevkaInput";
- spacing = "fixed";
- serifs = "sans";
- noLigation = true;
- exportGlyphNames = false;
+ # set = "Input";
+ privateBuildPlan = ''
+ [buildPlans.IosevkaInput]
+ family = "IosevkaInput"
+ spacing = "fixed"
+ serifs = "sans"
+ exportGlyphNames = false
+ noLigation = true
- variants.design = {
- one = "base";
- two = "curly-neck-serifless";
- three = "flat-top-serifless";
- four = "closed-serifless";
- five = "upright-flat-serifless";
- six = "closed-contour";
- seven = "straight-serifless";
- eight = "two-circles";
- nine = "closed-contour";
- zero = "oval-long-dotted";
- capital-a = "straight-serifless";
- capital-b = "standard-serifless";
- capital-c = "bilateral-inward-serifed";
- capital-d = "standard-serifless";
- capital-e = "serifless";
- capital-f = "serifless";
- capital-g = "toothless-corner-serifless-hooked";
- capital-h = "serifless";
- capital-i = "serifed";
- capital-j = "serifless";
- capital-k = "symmetric-connected-serifless";
- capital-l = "serifless";
- capital-m = "hanging-serifless";
- capital-n = "standard-serifless";
- capital-p = "closed-serifless";
- capital-q = "crossing-curly-tailed";
- capital-r = "straight-serifless";
- capital-s = "bilateral-inward-serifed";
- capital-t = "serifless";
- capital-u = "toothless-rounded-serifless";
- capital-v = "curly-serifless";
- capital-w = "straight-vertical-sides-serifless";
- capital-x = "curly-serifless";
- capital-y = "curly-serifless";
- capital-z = "straight-serifed";
- a = "double-storey-toothless-corner";
- b = "toothless-corner-serifless";
- c = "serifless";
- d = "toothless-corner-serifless";
- e = "flat-crossbar";
- f = "flat-hook-serifless-crossbar-at-x-height";
- g = "double-storey";
- h = "straight-serifless";
- i = "zshaped";
- j = "flat-hook-serifed";
- k = "straight-serifless";
- l = "zshaped";
- m = "earless-rounded-double-arch-short-leg-serifless";
- n = "earless-corner-straight-serifless";
- p = "earless-corner-serifless";
- q = "earless-corner-straight-serifless";
- r = "earless-corner-serifless";
- s = "serifless";
- t = "flat-hook";
- u = "toothless-corner-serifless";
- v = "straight-serifless";
- w = "rounded-vertical-sides-serifless";
- x = "straight-serifless";
- y = "straight-turn-serifless";
- z = "straight-serifless";
- capital-eszet = "corner-serifless";
- long-s = "bent-hook-serifless";
- eszet = "sulzbacher-serifless";
- lower-eth = "straight-bar";
- capital-thorn = "serifless";
- lower-thorn = "serifless";
- lower-alpha = "crossing";
- lower-beta = "standard";
- capital-gamma = "serifless";
- lower-gamma = "casual";
- capital-delta = "straight";
- lower-delta = "flat-top";
- lower-eta = "earless-corner-serifless";
- lower-theta = "capsule";
- lower-iota = "serifed-semi-tailed";
- lower-kappa = "straight-serifless";
- capital-lambda = "straight-serifless";
- lower-lambda = "straight";
- lower-mu = "toothless-corner-serifless";
- lower-nu = "casual";
- lower-xi = "flat-top";
- lower-pi = "tailless";
- lower-tau = "semi-tailed";
- lower-upsilon = "casual-serifless";
- lower-phi = "cursive";
- lower-chi = "semi-chancery-straight-serifless";
- lower-psi = "flat-top-serifless";
- partial-derivative = "straight-bar";
- cyrl-a = "single-storey-earless-corner-tailed";
- cyrl-ve = "standard-serifless";
- cyrl-capital-zhe = "symmetric-connected";
- cyrl-zhe = "symmetric-connected";
- cyrl-capital-ze = "bilateral-inward-serifed";
- cyrl-ze = "serifless";
- cyrl-capital-ka = "symmetric-connected-bottom-right-serifed";
- cyrl-ka = "symmetric-connected-serifless";
- cyrl-el = "straight";
- cyrl-em = "flat-bottom-serifless";
- cyrl-capital-en = "serifed";
- cyrl-en = "serifless";
- cyrl-capital-er = "closed-serifed";
- cyrl-er = "eared-serifed";
- cyrl-capital-u = "cursive-serifless";
- cyrl-u = "cursive-serifless";
- cyrl-ef = "serifless";
- cyrl-che = "standard";
- cyrl-yeri = "corner";
- cyrl-yery = "corner";
- cyrl-capital-e = "bilateral-inward-serifed";
- cyrl-e = "serifless";
- cyrl-capital-ya = "standing-serifless";
- cyrl-ya = "standing-serifless";
- tittle = "round";
- diacritic-dot = "round";
- punctuation-dot = "round";
- braille-dot = "square";
- tilde = "low";
- asterisk = "hex-low";
- underscore = "above-baseline";
- caret = "medium";
- ascii-grave = "straight";
- ascii-single-quote = "straight";
- paren = "normal";
- brace = "curly-flat-boundary";
- guillemet = "straight";
- number-sign = "upright";
- ampersand = "closed";
- at = "fourfold";
- dollar = "through";
- cent = "through";
- percent = "rings-continuous-slash";
- bar = "force-upright";
- question = "corner";
- pilcrow = "high";
- micro-sign = "tailed-serifless";
- decorative-angle-brackets = "middle";
- };
+ [buildPlans.IosevkaInput.variants.design]
+ one = "base"
+ two = "curly-neck-serifless"
+ three = "flat-top-serifless"
+ four = "closed-serifless"
+ five = "upright-flat-serifless"
+ six = "closed-contour"
+ seven = "straight-serifless"
+ eight = "two-circles"
+ nine = "closed-contour"
+ zero = "oval-long-dotted"
+ capital-a = "straight-serifless"
+ capital-b = "standard-serifless"
+ capital-c = "bilateral-inward-serifed"
+ capital-d = "standard-serifless"
+ capital-e = "serifless"
+ capital-f = "serifless"
+ capital-g = "toothless-corner-serifless-hooked"
+ capital-h = "serifless"
+ capital-i = "serifed"
+ capital-j = "serifless"
+ capital-k = "symmetric-connected-serifless"
+ capital-l = "serifless"
+ capital-m = "hanging-serifless"
+ capital-n = "standard-serifless"
+ capital-p = "closed-serifless"
+ capital-q = "crossing-curly-tailed"
+ capital-r = "straight-serifless"
+ capital-s = "bilateral-inward-serifed"
+ capital-t = "serifless"
+ capital-u = "toothless-rounded-serifless"
+ capital-v = "curly-serifless"
+ capital-w = "straight-vertical-sides-serifless"
+ capital-x = "curly-serifless"
+ capital-y = "curly-serifless"
+ capital-z = "straight-serifed"
+ a = "double-storey-toothless-corner"
+ b = "toothless-corner-serifless"
+ c = "serifless"
+ d = "toothless-corner-serifless"
+ e = "flat-crossbar"
+ f = "flat-hook-serifless-crossbar-at-x-height"
+ g = "double-storey"
+ h = "straight-serifless"
+ i = "zshaped"
+ j = "flat-hook-serifed"
+ k = "straight-serifless"
+ l = "zshaped"
+ m = "earless-rounded-double-arch-short-leg-serifless"
+ n = "earless-corner-straight-serifless"
+ p = "earless-corner-serifless"
+ q = "earless-corner-straight-serifless"
+ r = "earless-corner-serifless"
+ s = "serifless"
+ t = "flat-hook"
+ u = "toothless-corner-serifless"
+ v = "straight-serifless"
+ w = "rounded-vertical-sides-serifless"
+ x = "straight-serifless"
+ y = "straight-turn-serifless"
+ z = "straight-serifless"
+ capital-eszet = "corner-serifless"
+ long-s = "bent-hook-serifless"
+ eszet = "sulzbacher-serifless"
+ lower-eth = "straight-bar"
+ capital-thorn = "serifless"
+ lower-thorn = "serifless"
+ lower-alpha = "crossing"
+ lower-beta = "standard"
+ capital-gamma = "serifless"
+ lower-gamma = "casual"
+ capital-delta = "straight"
+ lower-delta = "flat-top"
+ lower-eta = "earless-corner-serifless"
+ lower-theta = "capsule"
+ lower-iota = "serifed-semi-tailed"
+ lower-kappa = "straight-serifless"
+ capital-lambda = "straight-serifless"
+ lower-lambda = "straight"
+ lower-mu = "toothless-corner-serifless"
+ lower-nu = "casual"
+ lower-xi = "flat-top"
+ lower-pi = "tailless"
+ lower-tau = "semi-tailed"
+ lower-upsilon = "casual-serifless"
+ lower-phi = "cursive"
+ lower-chi = "semi-chancery-straight-serifless"
+ lower-psi = "flat-top-serifless"
+ partial-derivative = "straight-bar"
+ cyrl-a = "double-storey-hook-inward-serifed-tailed"
+ cyrl-ve = "standard-serifless"
+ cyrl-capital-zhe = "symmetric-connected"
+ cyrl-zhe = "symmetric-connected"
+ cyrl-capital-ze = "bilateral-inward-serifed"
+ cyrl-ze = "serifless"
+ cyrl-capital-ka = "symmetric-connected-bottom-right-serifed"
+ cyrl-ka = "symmetric-connected-serifless"
+ cyrl-el = "straight"
+ cyrl-em = "flat-bottom-serifless"
+ cyrl-capital-en = "serifed"
+ cyrl-en = "serifless"
+ cyrl-capital-er = "closed-serifed"
+ cyrl-er = "eared-serifed"
+ cyrl-capital-u = "cursive-serifless"
+ cyrl-u = "cursive-serifless"
+ cyrl-ef = "serifless"
+ cyrl-che = "standard"
+ cyrl-yeri = "corner"
+ cyrl-yery = "corner"
+ cyrl-capital-e = "bilateral-inward-serifed"
+ cyrl-e = "serifless"
+ cyrl-capital-ya = "standing-serifless"
+ cyrl-ya = "standing-serifless"
+ tittle = "round"
+ diacritic-dot = "round"
+ punctuation-dot = "round"
+ braille-dot = "square"
+ tilde = "low"
+ asterisk = "hex-low"
+ underscore = "above-baseline"
+ caret = "medium"
+ ascii-grave = "straight"
+ ascii-single-quote = "straight"
+ paren = "normal"
+ brace = "curly-flat-boundary"
+ guillemet = "straight"
+ number-sign = "upright"
+ ampersand = "closed"
+ at = "fourfold"
+ dollar = "through"
+ cent = "through"
+ percent = "rings-continuous-slash"
+ bar = "force-upright"
+ question = "corner"
+ pilcrow = "high"
+ micro-sign = "tailed-serifless"
+ decorative-angle-brackets = "middle"
- weights = {
- W360 = {
- shape = 360;
- menu = 360;
- css = 360;
- };
- Heavy = {
- shape = 900;
- menu = 900;
- css = 900;
- };
- };
+ [buildPlans.IosevkaInput.weights.W360]
+ shape = 360
+ menu = 360
+ css = 360
- slopes = {
- Upright = {
- angle = 0;
- shape = "upright";
- menu = "upright";
- css = "normal";
- };
- Oblique = {
- angle = 15;
- shape = "oblique";
- menu = "oblique";
- css = "oblique";
- };
- };
+ [buildPlans.IosevkaInput.weights.Heavy]
+ shape = 900
+ menu = 900
+ css = 900
- widths.Normal = {
- shape = 575;
- menu = 5;
- css = "normal";
- };
+ [buildPlans.IosevkaInput.slopes.Upright]
+ angle = 0
+ shape = "upright"
+ menu = "upright"
+ css = "normal"
- metricOverride = {
- leading = 1100;
- parenSize = 950;
- cap = 800;
- ascender = 800;
- xHeight = 600;
- dotSize = "blend(weight, [100, 50], [360, 140], [900, 190])";
- periodSize = "blend(weight, [100, 55], [360, 160], [900, 215])";
- };
- };
- };
+ [buildPlans.IosevkaInput.slopes.Oblique]
+ angle = 15
+ shape = "oblique"
+ menu = "oblique"
+ css = "oblique"
+
+ [buildPlans.IosevkaInput.widths.Normal]
+ shape = 575
+ menu = 5
+ css = "normal"
+
+ [buildPlans.IosevkaInput.metricOverride]
+ leading = 1100
+ parenSize = 950
+ cap = 800
+ ascender = 800
+ xHeight = 600
+ dotSize = "blend(weight, [100, 50], [360, 140], [900, 190])"
+ periodSize = "blend(weight, [100, 55], [360, 160], [900, 215])"
+ '';
+};
}
diff --git a/common/overlays/ioskeleyMono.nix b/common/overlays/ioskeleyMono.nix
deleted file mode 100644
index a70cf36..0000000
--- a/common/overlays/ioskeleyMono.nix
+++ /dev/null
@@ -1,150 +0,0 @@
-final: prev: {
- ioskeley-mono = prev.iosevka.override {
- set = "IoskeleyMono";
- privateBuildPlan = {
- family = "Ioskeley Mono";
- spacing = "normal";
- serifs = "sans";
- noCvSs = true;
- exportGlyphNames = false;
-
- variants.design = {
- one = "no-base";
- two = "straight-neck-serifless";
- three = "flat-top-serifless";
- four = "semi-open-serifless";
- five = "oblique-flat-serifless";
- six = "open-contour";
- seven = "straight-serifless";
- eight = "two-circles";
- nine = "open-contour";
- zero = "dotted";
- capital-a = "straight-serifless";
- capital-b = "standard-serifless";
- capital-c = "bilateral-inward-serifed";
- capital-d = "standard-serifless";
- capital-e = "serifless";
- capital-f = "serifless";
- capital-g = "toothless-corner-inward-serifed-hooked";
- capital-h = "serifless";
- capital-i = "serifed";
- capital-j = "serifless";
- capital-k = "symmetric-touching-serifless";
- capital-l = "serifless";
- capital-m = "hanging-serifless";
- capital-n = "standard-serifless";
- capital-p = "closed-serifless";
- capital-q = "crossing";
- capital-r = "standing-serifless";
- capital-s = "serifless";
- capital-t = "serifless";
- capital-u = "toothless-rounded-serifless";
- capital-v = "straight-serifless";
- capital-w = "straight-flat-top-serifless";
- capital-x = "straight-serifless";
- capital-y = "straight-serifless";
- capital-z = "straight-serifless";
- a = "double-storey-serifless";
- b = "toothed-serifless";
- c = "bilateral-inward-serifed";
- d = "toothed-serifless";
- e = "flat-crossbar";
- f = "flat-hook-serifless-crossbar-at-x-height";
- g = "single-storey-serifless";
- h = "straight-serifless";
- i = "serifed";
- j = "flat-hook-serifed";
- k = "symmetric-touching-serifless";
- l = "serifed";
- m = "serifless";
- n = "straight-serifless";
- p = "eared-serifless";
- q = "straight-serifless";
- r = "hookless-serifless";
- s = "serifless";
- t = "flat-hook-short-neck2";
- u = "toothed-serifless";
- v = "straight-serifless";
- w = "straight-flat-top-serifless";
- x = "straight-serifless";
- y = "straight-serifless";
- z = "straight-serifless";
- lower-theta = "oval";
- tittle = "square";
- diacritic-dot = "square";
- punctuation-dot = "square";
- braille-dot = "square";
- tilde = "low";
- asterisk = "penta-mid";
- underscore = "high";
- caret = "medium";
- ascii-grave = "straight";
- ascii-single-quote = "straight";
- paren = "flat-arc";
- brace = "curly-flat-boundary";
- guillemet = "straight";
- number-sign = "slanted";
- ampersand = "closed";
- at = "fourfold";
- dollar = "through";
- cent = "through-cap";
- percent = "rings-continuous-slash";
- bar = "natural-slope";
- question = "corner";
- pilcrow = "high";
- micro-sign = "toothed-serifless";
- decorative-angle-brackets = "middle";
- lig-ltgteq = "slanted";
- lig-neq = "slightly-slanted";
- lig-equal-chain = "without-notch";
- lig-hyphen-chain = "without-notch";
- lig-plus-chain = "without-notch";
- lig-double-arrow-bar = "without-notch";
- lig-single-arrow-bar = "without-notch";
- };
-
- weights = {
- Regular = {
- shape = 400;
- menu = 400;
- css = 400;
- };
- Bold = {
- shape = 700;
- menu = 700;
- css = 700;
- };
- };
-
- widths.Normal = {
- shape = 600;
- menu = 5;
- css = "normal";
- };
-
- slopes = {
- Upright = {
- angle = 0;
- shape = "upright";
- menu = "upright";
- css = "normal";
- };
- Italic = {
- angle = 11.8;
- shape = "italic";
- menu = "italic";
- css = "italic";
- };
- };
-
- metricOverride = {
- xHeight = 520;
- cap = 690;
- ascender = 740;
- sb = 120;
- leading = 1250;
- dotSize = "blend(weight, [100, 110], [400, 125], [900, 150])";
- };
- };
- };
-}
diff --git a/common/programs/firefox.nix b/common/programs/firefox.nix
index d393131..77d1b2e 100644
--- a/common/programs/firefox.nix
+++ b/common/programs/firefox.nix
@@ -6,57 +6,57 @@
}:
{
programs.firefox = {
- enable = false;
+ enable = true;
package = pkgs.librewolf;
policies = {
- DisableTelemetry = true;
- BlockAboutConfig = false;
- DisableFirefoxAccounts = true;
- DisablePocket = true;
- DisableSetDesktopBackground = true;
- DisableSystemAddonUpdate = true;
- AutofillCreditCardEnabled = false;
- AutofillAddressEnabled = false;
- DisableFirefoxScreenshots = true;
- DisableMasterPasswordCreation = true;
- DontCheckDefaultBrowser = true;
- NoDefaultBookmarks = true;
- OfferToSaveLogins = false;
- UserMessaging = {
- WhatsNew = false;
- ExtensionRecommendations = false;
- FeatureRecommendations = false;
- UrlbarInterventions = false;
- SkipOnboarding = true;
- MoreFromMozilla = false;
- Locked = true;
- };
- FirefoxHome = {
- Search = false;
- TopSites = false;
- SponsoredTopSites = false;
- Highlights = false;
- Pocket = false;
- Stories = false;
- SponsoredPocket = false;
- SponsoredStories = false;
- Snippets = false;
- Locked = true;
- };
- FirefoxSuggest = {
- WebSuggestions = false;
- SponsoredSuggestions = false;
- ImproveSuggest = false;
- Locked = true;
- };
+ # DisableTelemetry = true;
+ # BlockAboutConfig = false;
+ # DisableFirefoxAccounts = true;
+ # DisablePocket = true;
+ # DisableSetDesktopBackground = true;
+ # DisableSystemAddonUpdate = true;
+ # AutofillCreditCardEnabled = false;
+ # AutofillAddressEnabled = false;
+ # DisableFirefoxScreenshots = true;
+ # DisableMasterPasswordCreation = true;
+ # DontCheckDefaultBrowser = true;
+ # NoDefaultBookmarks = true;
+ # OfferToSaveLogins = false;
+ # UserMessaging = {
+ # WhatsNew = false;
+ # ExtensionRecommendations = false;
+ # FeatureRecommendations = false;
+ # UrlbarInterventions = false;
+ # SkipOnboarding = true;
+ # MoreFromMozilla = false;
+ # Locked = true;
+ # };
+ # FirefoxHome = {
+ # Search = false;
+ # TopSites = false;
+ # SponsoredTopSites = false;
+ # Highlights = false;
+ # Pocket = false;
+ # Stories = false;
+ # SponsoredPocket = false;
+ # SponsoredStories = false;
+ # Snippets = false;
+ # Locked = true;
+ # };
+ # FirefoxSuggest = {
+ # WebSuggestions = false;
+ # SponsoredSuggestions = false;
+ # ImproveSuggest = false;
+ # Locked = true;
+ # };
ExtensionSettings = {
- "uBlock0@raymondhill.net" = {
- default_area = "menupanel";
- installation_mode = "force_installed";
- install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
- private_browsing = true;
- };
+ # "uBlock0@raymondhill.net" = {
+ # default_area = "menupanel";
+ # installation_mode = "force_installed";
+ # install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
+ # private_browsing = true;
+ # };
"addon@darkreader.org" = {
default_area = "menupanel";
installation_mode = "force_installed";
@@ -68,16 +68,9 @@
profiles.default = {
settings = {
- "browser.sessionstore.max_tabs_undo" = 0;
- "browser.sessionstore.max_windows_undo" = 0;
-
- # "browser.startup.page" = 1; # Blank page
- # "browser.newtabpage.enabled" = false;
-
"privacy.trackingprotection.enabled" = true;
"privacy.trackingprotection.socialtracking.enabled" = true;
"privacy.globalprivacycontrol.enabled" = true;
- "network.cookie.cookieBehavior" = 2; # Block all cookies
"browser.contentblocking.category" = "strict";
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
@@ -88,62 +81,56 @@
# Performance
"gfx.webrender.all" = true; # Enable WebRender
"layers.acceleration.enabled" = true;
- "browser.cache.disk.enable" = false; # Disable disk cache
- "browser.cache.memory.enable" = true; # Use memory cache
- "browser.cache.memory.capacity" = 1048576; # 1gb memory cache
- "browser.preferences.defaultPerformanceSettings.enabled" = false;
+ # "browser.cache.disk.enable" = false; # Disable disk cache
+ # "browser.cache.memory.enable" = true; # Use memory cache
+ # "browser.cache.memory.capacity" = 1048576; # 1gb memory cache
+ # "browser.preferences.defaultPerformanceSettings.enabled" = false;
"media.hardware-video-decoding.force-enabled" = true;
"media.hardware-video-decoding.enabled" = true;
"browser.tabs.unloadOnLowMemory" = true;
"browser.low_commit_space_threshold_percent" = 100;
"browser.tabs.min_inactive_duration_before_unload" = 3600000;
+ "gfx.webrender.all" = true;
+ "gfx.webrender.compositor" = true;
+ "gfx.x11-egl.force-enabled" = true;
+ "layers.acceleration.force-enabled" = true;
+ "media.ffmpeg.vaapi.enabled" = true;
+ "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
# Disable unnecessary features
- "browser.aboutwelcome.enabled" = false;
- "browser.discovery.enabled" = false;
- "browser.onboarding.enabled" = false;
+ # "browser.aboutwelcome.enabled" = false;
+ # "browser.discovery.enabled" = false;
+ # "browser.onboarding.enabled" = false;
"browser.tabs.inTitlebar" = 0;
"browser.toolbars.bookmarks.visibility" = "never";
"widget.use-xdg-desktop-portal.file-picker" = 1;
};
- search = {
- force = true;
- default = "ddg";
- engines = {
- duck-duck-go = {
- name = "DuckDuckGo";
- urls = [ { template = "https://duckduckgo.com/?q={searchTerms}"; } ];
- iconMapObj."16" = "https://duckduckgo.com/favicon.ico";
- definedAliases = [ ":ddg" ];
- };
- startpage = {
- name = "Startpage";
- urls = [ { template = "https://www.startpage.com/do/search?query={searchTerms}"; } ];
- iconMapObj."16" = "https://www.startpage.com/favicon.ico";
- definedAliases = [ ":sp" ];
- };
- nixos-packages = {
- name = "NixOS Packages";
- urls = [ { template = "https://search.nixos.org/packages?query={searchTerms}"; } ];
- iconMapObj."16" = "https://nixos.org/favicon.ico";
- definedAliases = [ ":n" ];
- };
- nixos-wiki = {
- name = "NixOS Wiki";
- urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ];
- iconMapObj."16" = "https://wiki.nixos.org/favicon.ico";
- definedAliases = [ ":nw" ];
- };
- amazon.metaData.hidden = true;
- ebay.metaData.hidden = true;
- perplexity.metaData.hidden = true;
-
- google.metaData.alias = ":g";
- bing.metaData.alias = ":b";
- };
- };
+ # search = {
+ # force = true;
+ # default = "ddg";
+ # engines = {
+ # nixos-packages = {
+ # name = "NixOS Packages";
+ # urls = [ { template = "https://search.nixos.org/packages?query={searchTerms}"; } ];
+ # iconMapObj."16" = "https://nixos.org/favicon.ico";
+ # definedAliases = [ ":n" ];
+ # };
+ # nixos-wiki = {
+ # name = "NixOS Wiki";
+ # urls = [ { template = "https://wiki.nixos.org/w/index.php?search={searchTerms}"; } ];
+ # iconMapObj."16" = "https://wiki.nixos.org/favicon.ico";
+ # definedAliases = [ ":nw" ];
+ # };
+ # amazon.metaData.hidden = true;
+ # ebay.metaData.hidden = true;
+ # perplexity.metaData.hidden = true;
+ #
+ # google.metaData.alias = ":g";
+ # bing.metaData.alias = ":b";
+ # };
+ # };
};
};
}
diff --git a/common/programs/fish.nix b/common/programs/fish.nix
index 8814a12..e45182a 100644
--- a/common/programs/fish.nix
+++ b/common/programs/fish.nix
@@ -3,7 +3,7 @@
...
}:
{
- programs.fish.enable = true;
+ programs.fish.enable = false;
home.packages = with pkgs; [
fzf
diff --git a/common/programs/zenBrowser.nix b/common/programs/zenBrowser.nix
index 3c24a0d..99f7723 100644
--- a/common/programs/zenBrowser.nix
+++ b/common/programs/zenBrowser.nix
@@ -1,8 +1,8 @@
{
- inputs,
- pkgs,
- lib,
- ...
+inputs,
+pkgs,
+lib,
+...
}:
let
extension = shortId: guid: {
@@ -36,121 +36,122 @@ let
(extension "darkreader" "addon@darkreader.org")
];
in
-{
- home.packages = [
- (pkgs.wrapFirefox
- inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped
- {
- extraPrefs = lib.concatLines (
- lib.mapAttrsToList (
- name: value: "lockPref(${lib.strings.toJSON name}, ${lib.strings.toJSON value});"
- ) prefs
- );
+ {
+ config = lib.mkIf !config.programs.firefox.enable {
+ home.packages = [
+ (pkgs.wrapFirefox
+ inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped
+ {
+ extraPrefs = lib.concatLines (
+ lib.mapAttrsToList (
+ name: value: "lockPref(${lib.strings.toJSON name}, ${lib.strings.toJSON value});"
+ ) prefs
+ );
- extraPolicies = {
- DisableTelemetry = true;
- AutofillAddressEnabled = true;
- AutofillCreditCardEnabled = false;
- DisableAppUpdate = true;
- DisableFeedbackCommands = true;
- DisableFirefoxStudies = true;
- DisablePocket = true;
- DontCheckDefaultBrowser = true;
- NoDefaultBookmarks = true;
- DisableFirefoxScreenshots = true;
- OfferToSaveLogins = false;
- EnableTrackingProtection = {
- Value = true;
- Locked = true;
- Cryptomining = true;
- Fingerprinting = true;
- };
- DNSOverHTTPS = {
- Enabled = true;
- ProviderURL = "https://dns.quad9.net/dns-query";
- Locked = true;
- Fallback = true;
- };
+ extraPolicies = {
+ DisableTelemetry = true;
+ AutofillAddressEnabled = true;
+ AutofillCreditCardEnabled = false;
+ DisableAppUpdate = true;
+ DisableFeedbackCommands = true;
+ DisableFirefoxStudies = true;
+ DisablePocket = true;
+ DontCheckDefaultBrowser = true;
+ NoDefaultBookmarks = true;
+ DisableFirefoxScreenshots = true;
+ OfferToSaveLogins = false;
+ EnableTrackingProtection = {
+ Value = true;
+ Locked = true;
+ Cryptomining = true;
+ Fingerprinting = true;
+ };
+ DNSOverHTTPS = {
+ Enabled = true;
+ ProviderURL = "https://dns.quad9.net/dns-query";
+ Locked = true;
+ Fallback = true;
+ };
- ExtensionSettings = builtins.listToAttrs extensions;
+ ExtensionSettings = builtins.listToAttrs extensions;
- SearchEngines = {
- Default = "DuckDuckGo";
- # Default = "Omnisearch";
- PreventInstalls = true;
- Remove = [
- "Google"
- "Bing"
- ];
- Add = [
- # {
- # Name = "Omnisearch";
- # URLTemplate = "http://localhost:8087/search?q={searchTerms}";
- # IconURL = "http://localhost:8087/static/favicon.ico";
- # Alias = ":o";
- # }
- {
- Name = "nixpkgs packages";
- URLTemplate = "https://search.nixos.org/packages?query={searchTerms}";
- IconURL = "https://wiki.nixos.org/favicon.ico";
- Alias = ":np";
- }
- {
- Name = "NixOS options";
- URLTemplate = "https://search.nixos.org/options?query={searchTerms}";
- IconURL = "https://wiki.nixos.org/favicon.ico";
- Alias = ":no";
- }
- {
- Name = "NixOS Wiki";
- URLTemplate = "https://wiki.nixos.org/w/index.php?search={searchTerms}";
- IconURL = "https://wiki.nixos.org/favicon.ico";
- Alias = ":nw";
- }
- {
- Name = "noogle";
- URLTemplate = "https://noogle.dev/q?term={searchTerms}";
- IconURL = "https://noogle.dev/favicon.ico";
- Alias = ":ng";
- }
- ];
+ SearchEngines = {
+ Default = "DuckDuckGo";
+ # Default = "Omnisearch";
+ PreventInstalls = true;
+ Remove = [
+ "Google"
+ "Bing"
+ ];
+ Add = [
+ # {
+ # Name = "Omnisearch";
+ # URLTemplate = "http://localhost:8087/search?q={searchTerms}";
+ # IconURL = "http://localhost:8087/static/favicon.ico";
+ # Alias = ":o";
+ # }
+ {
+ Name = "nixpkgs packages";
+ URLTemplate = "https://search.nixos.org/packages?query={searchTerms}";
+ IconURL = "https://wiki.nixos.org/favicon.ico";
+ Alias = ":np";
+ }
+ {
+ Name = "NixOS options";
+ URLTemplate = "https://search.nixos.org/options?query={searchTerms}";
+ IconURL = "https://wiki.nixos.org/favicon.ico";
+ Alias = ":no";
+ }
+ {
+ Name = "NixOS Wiki";
+ URLTemplate = "https://wiki.nixos.org/w/index.php?search={searchTerms}";
+ IconURL = "https://wiki.nixos.org/favicon.ico";
+ Alias = ":nw";
+ }
+ {
+ Name = "noogle";
+ URLTemplate = "https://noogle.dev/q?term={searchTerms}";
+ IconURL = "https://noogle.dev/favicon.ico";
+ Alias = ":ng";
+ }
+ ];
+ };
};
- };
- }
- )
- ];
+ }
+ )
+ ];
- xdg.configFile = {
- "userContent.css" = {
- enable = false;
- text =
- # css
- ''
+ xdg.configFile = {
+ "userContent.css" = {
+ enable = false;
+ text =
+ # css
+ ''
img, canvas, video, .avatar,
[class*="avatar"],
[class*="ProfileAvatar"],
[style*="border-radius"] {
- border-radius: 0 !important;
- clip-path: none !important;
- mask-image: none !important;
- -webkit-mask-image: none !important;
+ border-radius: 0 !important;
+ clip-path: none !important;
+ mask-image: none !important;
+ -webkit-mask-image: none !important;
}
/* 2. Reset standard rounding on all elements EXCEPT SVGs */
:not(svg):not(circle):not(ellipse):not(path) {
- border-radius: 0 !important;
+ border-radius: 0 !important;
}
/* 3. Handle variables that usually affect containers/images */
:root {
- --border-radius: 0px !important;
- --radius: 0px !important;
- --rounded-corner: 0px !important;
- --avatar-radius: 0px !important;
- --pfp-radius: 0px !important;
+ --border-radius: 0px !important;
+ --radius: 0px !important;
+ --rounded-corner: 0px !important;
+ --avatar-radius: 0px !important;
+ --pfp-radius: 0px !important;
}
- '';
+ '';
+ };
};
};
-
}