mirror of
https://codeberg.org/leana8959/.files.git
synced 2026-02-01 22:49:41 +00:00
Compare commits
7 commits
2bfd250806
...
a7aa536cf6
| Author | SHA1 | Date | |
|---|---|---|---|
| a7aa536cf6 | |||
| 76b34bb277 | |||
| 1047642bdf | |||
| dbd0564126 | |||
| 35389355e6 | |||
| 2ffb6d64bf | |||
| d99232b760 |
18 changed files with 48 additions and 352 deletions
|
|
@ -12,7 +12,7 @@ This repo is managed with Nix + GNU stow
|
||||||
- `wpa_cli`
|
- `wpa_cli`
|
||||||
```bash
|
```bash
|
||||||
add_network
|
add_network
|
||||||
# wil return a number
|
# will return a number
|
||||||
set_network <number> ssid "<ssid>"
|
set_network <number> ssid "<ssid>"
|
||||||
set_network <number> psk "<your password>"
|
set_network <number> psk "<your password>"
|
||||||
select_network 0
|
select_network 0
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,10 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
|
home.packages = [
|
||||||
|
pkgs.hyperfine # for benchmarking
|
||||||
|
pkgs.watchexec
|
||||||
|
];
|
||||||
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
signing.signByDefault = false; # no need to setup the key
|
signing.signByDefault = false; # no need to setup the key
|
||||||
|
|
|
||||||
|
|
@ -20,17 +20,6 @@
|
||||||
pkgs.unzip
|
pkgs.unzip
|
||||||
pkgs.gnutar
|
pkgs.gnutar
|
||||||
pkgs.p7zip
|
pkgs.p7zip
|
||||||
pkgs.bc
|
|
||||||
pkgs.dig
|
|
||||||
pkgs.hutils
|
|
||||||
|
|
||||||
# pretty tui tools
|
|
||||||
pkgs.dust
|
|
||||||
pkgs.tokei
|
|
||||||
pkgs.hyperfine
|
|
||||||
pkgs.watchexec
|
|
||||||
pkgs.onefetch
|
|
||||||
pkgs.just
|
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,7 @@
|
||||||
#
|
|
||||||
# Note:
|
# Note:
|
||||||
# I could've import the wifi configuration and use it here, but I haven't
|
# I could've import the wifi configuration and use it here, but I haven't
|
||||||
# figured out an elegant (enough) way to do it while keeping my secrets
|
# figured out an elegant (enough) way to do it while keeping my secrets
|
||||||
# encrypted.
|
# encrypted.
|
||||||
#
|
|
||||||
let
|
let
|
||||||
sources = import ../../npins;
|
sources = import ../../npins;
|
||||||
in
|
in
|
||||||
|
|
@ -37,8 +35,7 @@ in
|
||||||
overlays = map import [
|
overlays = map import [
|
||||||
../overlays/agenix.nix
|
../overlays/agenix.nix
|
||||||
../overlays/disko.nix
|
../overlays/disko.nix
|
||||||
../overlays/nur.nix
|
../overlays/npins.nix
|
||||||
|
|
||||||
../packages/overlay.nix
|
../packages/overlay.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
@ -54,18 +51,20 @@ in
|
||||||
|
|
||||||
isoImage.squashfsCompression = "zstd -Xcompression-level 3";
|
isoImage.squashfsCompression = "zstd -Xcompression-level 3";
|
||||||
|
|
||||||
environment.systemPackages = [
|
environment.systemPackages = with pkgs; [
|
||||||
pkgs.disko
|
agenix
|
||||||
pkgs.manage
|
npins
|
||||||
pkgs.git
|
disko
|
||||||
pkgs.pastebinit # for sharing cli output & debugging
|
stow
|
||||||
pkgs.hdparm # to ATA secure wipe disks
|
manage
|
||||||
pkgs.btop
|
|
||||||
|
git
|
||||||
|
pastebinit # for sharing cli output & debugging
|
||||||
|
hdparm # to ATA secure wipe disks
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [ 8080 ]; # in case you wanna nc
|
networking.firewall.allowedTCPPorts = [ 8080 ]; # in case you wanna nc
|
||||||
|
|
||||||
programs.tmux.enable = true;
|
|
||||||
users.users.nixos.shell = pkgs.fish;
|
users.users.nixos.shell = pkgs.fish;
|
||||||
programs.fish.enable = true;
|
programs.fish.enable = true;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -150,7 +150,6 @@ in
|
||||||
./vanadium/home/misc.nix
|
./vanadium/home/misc.nix
|
||||||
./vanadium/home/gtk.nix
|
./vanadium/home/gtk.nix
|
||||||
|
|
||||||
./vanadium/home/zen-browser.nix
|
|
||||||
./vanadium/home/firefox.nix
|
./vanadium/home/firefox.nix
|
||||||
./vanadium/home/xmobar.nix
|
./vanadium/home/xmobar.nix
|
||||||
|
|
||||||
|
|
@ -169,7 +168,6 @@ in
|
||||||
../homeModules/common/atuin.nix
|
../homeModules/common/atuin.nix
|
||||||
../homeModules/common/direnv.nix
|
../homeModules/common/direnv.nix
|
||||||
../homeModules/common/feh.nix
|
../homeModules/common/feh.nix
|
||||||
../homeModules/common/zen-browser.nix
|
|
||||||
../homeModules/common/firefox.nix
|
../homeModules/common/firefox.nix
|
||||||
../homeModules/common/fzf.nix
|
../homeModules/common/fzf.nix
|
||||||
../homeModules/common/git.nix
|
../homeModules/common/git.nix
|
||||||
|
|
@ -191,9 +189,6 @@ in
|
||||||
#
|
#
|
||||||
(sources.agenix + "/modules/age-home.nix")
|
(sources.agenix + "/modules/age-home.nix")
|
||||||
sources.wired-notify.asFlake.homeManagerModules.default
|
sources.wired-notify.asFlake.homeManagerModules.default
|
||||||
|
|
||||||
# non official one uses reuploaded artifacts, are they audited?
|
|
||||||
sources.zen-browser.asFlake.homeModules.beta
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,20 @@
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
home.packages = [
|
home.packages = [
|
||||||
|
pkgs.watchexec
|
||||||
|
|
||||||
|
# Nix
|
||||||
|
pkgs.nurl # fetcher made easy
|
||||||
|
pkgs.nix-diff # debug cache miss
|
||||||
|
pkgs.nix-tree # analyze closure
|
||||||
|
pkgs.nix-which
|
||||||
|
|
||||||
# preview markdown
|
# preview markdown
|
||||||
pkgs.python3Packages.grip
|
pkgs.python3Packages.grip
|
||||||
|
|
||||||
# For {nix,haskell} contribution
|
# For {nix,haskell} contribution
|
||||||
pkgs.gh
|
pkgs.gh
|
||||||
pkgs.act
|
# pkgs.act
|
||||||
pkgs.nixfmt-rfc-style
|
pkgs.nixfmt-rfc-style
|
||||||
pkgs.nix-doc
|
pkgs.nix-doc
|
||||||
pkgs.nixpkgs-review
|
pkgs.nixpkgs-review
|
||||||
|
|
@ -19,6 +27,7 @@
|
||||||
|
|
||||||
pkgs.fx # json viewer
|
pkgs.fx # json viewer
|
||||||
|
|
||||||
|
# LSPs
|
||||||
pkgs.lua-language-server
|
pkgs.lua-language-server
|
||||||
pkgs.stylua # lua
|
pkgs.stylua # lua
|
||||||
pkgs.nil # nix
|
pkgs.nil # nix
|
||||||
|
|
@ -28,9 +37,7 @@
|
||||||
pkgs.vscode-langservers-extracted # JSON etc
|
pkgs.vscode-langservers-extracted # JSON etc
|
||||||
pkgs.yaml-language-server # yaml
|
pkgs.yaml-language-server # yaml
|
||||||
pkgs.cornelis # agda
|
pkgs.cornelis # agda
|
||||||
|
pkgs.shfmt # bash
|
||||||
# bash
|
|
||||||
pkgs.shfmt
|
|
||||||
pkgs.nodePackages.bash-language-server
|
pkgs.nodePackages.bash-language-server
|
||||||
|
|
||||||
# ghc
|
# ghc
|
||||||
|
|
@ -59,14 +66,6 @@
|
||||||
|
|
||||||
programs.gpg.enable = true;
|
programs.gpg.enable = true;
|
||||||
|
|
||||||
# programs.vscode = {
|
|
||||||
# enable = true;
|
|
||||||
# profiles.default.extensions = [
|
|
||||||
# pkgs.vscode-extensions.redhat.java
|
|
||||||
# pkgs.vscode-extensions.vscjava.vscode-java-pack
|
|
||||||
# ];
|
|
||||||
# };
|
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
extra-substituters = [
|
extra-substituters = [
|
||||||
|
|
|
||||||
|
|
@ -18,21 +18,17 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = [
|
home.packages = [
|
||||||
|
# TODO: write a simple rpn calculator for scripting (and learn bash properly)
|
||||||
pkgs.ghc # my favorite calculator
|
pkgs.ghc # my favorite calculator
|
||||||
|
|
||||||
pkgs.lsr # fast ls with io_uring
|
pkgs.lsr # fast ls with io_uring
|
||||||
pkgs.nmap
|
pkgs.nmap
|
||||||
pkgs.stow
|
|
||||||
pkgs.zip
|
pkgs.zip
|
||||||
pkgs.unzip
|
pkgs.unzip
|
||||||
pkgs.gnutar
|
pkgs.gnutar
|
||||||
pkgs.p7zip
|
pkgs.p7zip
|
||||||
pkgs.bc
|
|
||||||
pkgs.dig
|
pkgs.dig
|
||||||
pkgs.hutils
|
pkgs.hutils # TODO: simplify this project
|
||||||
pkgs.miniserve
|
|
||||||
pkgs.agenix
|
|
||||||
pkgs.nix-which
|
|
||||||
|
|
||||||
# To quote a legendary programer:
|
# To quote a legendary programer:
|
||||||
# > for whenever people think mac is hardcoded in hardware.
|
# > for whenever people think mac is hardcoded in hardware.
|
||||||
|
|
@ -41,50 +37,20 @@
|
||||||
# lol
|
# lol
|
||||||
pkgs.macchanger
|
pkgs.macchanger
|
||||||
|
|
||||||
# The file picker is not ergonomic enough, sadly
|
|
||||||
pkgs.helix
|
|
||||||
# pkgs.nushell
|
|
||||||
|
|
||||||
pkgs.ruler
|
pkgs.ruler
|
||||||
pkgs.mini-calc
|
|
||||||
|
|
||||||
# pdf
|
# pdf
|
||||||
pkgs.poppler-utils # pdfseparate, pdfunite
|
pkgs.poppler-utils # pdfseparate, pdfunite
|
||||||
pkgs.easyscan
|
pkgs.easyscan
|
||||||
|
|
||||||
# fun
|
|
||||||
# pkgs.prop-solveur
|
|
||||||
# pkgs.hbrainfuck
|
|
||||||
# pkgs.lucky-commit
|
|
||||||
|
|
||||||
# # research
|
|
||||||
# pkgs.necrolib
|
|
||||||
|
|
||||||
# pretty tui tools
|
|
||||||
pkgs.dust
|
|
||||||
pkgs.tokei
|
|
||||||
pkgs.hyperfine
|
|
||||||
pkgs.watchexec
|
|
||||||
pkgs.onefetch
|
|
||||||
pkgs.just
|
|
||||||
|
|
||||||
pkgs.nixfmt-rfc-style # formatter
|
|
||||||
pkgs.nurl # fetcher made easy
|
|
||||||
pkgs.nix-diff # debug cache miss
|
|
||||||
pkgs.npins
|
|
||||||
pkgs.nix-tree # analyze closure
|
|
||||||
|
|
||||||
# productivity / media
|
# productivity / media
|
||||||
pkgs.evolution
|
pkgs.evolution # TODO: find an alternative
|
||||||
pkgs.libreoffice
|
# pkgs.libreoffice
|
||||||
pkgs.calibre
|
pkgs.calibre
|
||||||
pkgs.digikam
|
pkgs.digikam
|
||||||
pkgs.nautilus
|
pkgs.nautilus
|
||||||
pkgs.sushi # space bar previewer
|
pkgs.sushi # space bar previewer
|
||||||
# pkgs.xournalpp
|
|
||||||
pkgs.picard # music tagger
|
pkgs.picard # music tagger
|
||||||
pkgs.mousai
|
|
||||||
pkgs.nicotine-plus
|
|
||||||
pkgs.qbittorrent
|
pkgs.qbittorrent
|
||||||
pkgs.mkvtoolnix
|
pkgs.mkvtoolnix
|
||||||
pkgs.localsend # file share with iOS
|
pkgs.localsend # file share with iOS
|
||||||
|
|
@ -116,12 +82,7 @@
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
};
|
};
|
||||||
lazygit.enable = true;
|
lazygit.enable = true;
|
||||||
fish = {
|
fish.enable = true;
|
||||||
enable = true;
|
|
||||||
shellAbbrs = {
|
|
||||||
"fdoc" = "find ~/Documents -name";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
starship.enable = true;
|
starship.enable = true;
|
||||||
tmux.enable = true;
|
tmux.enable = true;
|
||||||
direnv.enable = true;
|
direnv.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,8 @@ config =
|
||||||
, Run $
|
, Run $
|
||||||
Com
|
Com
|
||||||
"tomorrow"
|
"tomorrow"
|
||||||
[ "--target", "2026-02-02=monmaster"
|
[ "--target", "2026-02-17=monmaster⁺"
|
||||||
|
, "--target", "2026-03-16=monmaster⁻"
|
||||||
]
|
]
|
||||||
""
|
""
|
||||||
(60 &minute)
|
(60 &minute)
|
||||||
|
|
|
||||||
|
|
@ -165,7 +165,7 @@ myManageHook =
|
||||||
composeAll
|
composeAll
|
||||||
[ isNautilusPreviewer --> customFloating centeredFloat
|
[ isNautilusPreviewer --> customFloating centeredFloat
|
||||||
, isPavucontrol --> customFloating centeredFloat
|
, isPavucontrol --> customFloating centeredFloat
|
||||||
, isFeh --> doF copyToAll <> customFloating buttomRightFloat
|
, isFeh --> doF copyToAll <> customFloating bottomRightFloat
|
||||||
, isMinder --> customFloating centeredFloat
|
, isMinder --> customFloating centeredFloat
|
||||||
, isDiscord --> doShift chatWS
|
, isDiscord --> doShift chatWS
|
||||||
, isEvolution --> doShift chatWS
|
, isEvolution --> doShift chatWS
|
||||||
|
|
@ -177,7 +177,7 @@ myManageHook =
|
||||||
-- Note: some rules here are overlapping, the first one will take the precedence (composeOne)
|
-- Note: some rules here are overlapping, the first one will take the precedence (composeOne)
|
||||||
-- e.g. firefoxpip is a utility window
|
-- e.g. firefoxpip is a utility window
|
||||||
<> composeOne
|
<> composeOne
|
||||||
[ isFirefoxPip -?> doF copyToAll <> customFloating buttomRightFloat
|
[ isFirefoxPip -?> doF copyToAll <> customFloating bottomRightFloat
|
||||||
, isUtility -?> doIgnore
|
, isUtility -?> doIgnore
|
||||||
, isDialog -?> customFloating centeredFloat
|
, isDialog -?> customFloating centeredFloat
|
||||||
, isEvolutionComposer -?> customFloating centeredFloat
|
, isEvolutionComposer -?> customFloating centeredFloat
|
||||||
|
|
@ -399,11 +399,11 @@ chatWS = myWorkspaces !! 3
|
||||||
multimediaWS :: WorkspaceId
|
multimediaWS :: WorkspaceId
|
||||||
multimediaWS = myWorkspaces !! 6
|
multimediaWS = myWorkspaces !! 6
|
||||||
|
|
||||||
centeredFloat, smallFloat, fullFloat, buttomRightFloat :: W.RationalRect
|
centeredFloat, smallFloat, fullFloat, bottomRightFloat :: W.RationalRect
|
||||||
centeredFloat = W.RationalRect (1%9) (1%9) (7%9) (7%9)
|
centeredFloat = W.RationalRect (1%9) (1%9) (7%9) (7%9)
|
||||||
smallFloat = W.RationalRect (3%5) (3%5) (2%7) (2%7)
|
smallFloat = W.RationalRect (3%5) (3%5) (2%7) (2%7)
|
||||||
fullFloat = W.RationalRect 0 0 1 1
|
fullFloat = W.RationalRect 0 0 1 1
|
||||||
buttomRightFloat = W.RationalRect (1%2) (1%2) (1%2) (1%2)
|
bottomRightFloat = W.RationalRect (1%2) (1%2) (1%2) (1%2)
|
||||||
|
|
||||||
xmobarConfig :: StatusBarConfig
|
xmobarConfig :: StatusBarConfig
|
||||||
xmobarConfig = statusBarProp "xmobar -x 0" (pure myPrettyPrinter)
|
xmobarConfig = statusBarProp "xmobar -x 0" (pure myPrettyPrinter)
|
||||||
|
|
|
||||||
|
|
@ -1,166 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
inherit (pkgs) nur;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
programs.zen-browser = {
|
|
||||||
enable = false;
|
|
||||||
|
|
||||||
policies.SearchEngines.Add = [
|
|
||||||
# Forges
|
|
||||||
{
|
|
||||||
Name = "GitHub";
|
|
||||||
Alias = "@gh";
|
|
||||||
IconURL = "https://github.com/favicon.ico";
|
|
||||||
Description = "Your code yum yum";
|
|
||||||
URLTemplate = "https://github.com/search?q={searchTerms}&type=repositories";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "GitHub (Code Search)";
|
|
||||||
Alias = "@ghc";
|
|
||||||
IconURL = "https://github.com/favicon.ico";
|
|
||||||
Description = "Your code yum yum";
|
|
||||||
URLTemplate = "https://github.com/search?q={searchTerms}&type=code";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "Codeberg";
|
|
||||||
Alias = "@cb";
|
|
||||||
IconURL = "https://codeberg.org/favicon.ico";
|
|
||||||
Description = "Software development, but free!";
|
|
||||||
URLTemplate = "https://codeberg.org/explore/repos?q={searchTerms}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "?C";
|
|
||||||
Alias = "@cc";
|
|
||||||
IconURL = "https://git.confusedcompiler.org/favicon.ico";
|
|
||||||
URLTemplate = "https://git.confusedcompiler.org/explore/repos?q={searchTerms}";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Nix{,OS,pkgs}
|
|
||||||
{
|
|
||||||
Name = "NixOS Search (Package)";
|
|
||||||
Alias = "@np";
|
|
||||||
IconURL = "https://nixos.org/favicon.ico";
|
|
||||||
Description = "Search in nixpkgs";
|
|
||||||
URLTemplate = "https://search.nixos.org/packages?query={searchTerms}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "NixOS Search (Options)";
|
|
||||||
Alias = "@no";
|
|
||||||
IconURL = "https://nixos.org/favicon.ico";
|
|
||||||
Description = "Search in NixOS options";
|
|
||||||
URLTemplate = "https://search.nixos.org/options?query={searchTerms}";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Haskell
|
|
||||||
{
|
|
||||||
Name = "Flora";
|
|
||||||
Alias = "@hs";
|
|
||||||
IconURL = "https://flora.pm/static/icons/favicon-32x32.png";
|
|
||||||
URLTemplate = "https://flora.pm/search?q={searchTerms}";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Discourse
|
|
||||||
{
|
|
||||||
Name = "NixOS Discourse";
|
|
||||||
Alias = "@nd";
|
|
||||||
IconURL = "https://nixos.org/favicon.ico";
|
|
||||||
URLTemplate = "https://discourse.nixos.org/search?q={searchTerms}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "Framework Discourse";
|
|
||||||
Alias = "@fd";
|
|
||||||
IconURL = "https://frame.work/favicon.ico";
|
|
||||||
URLTemplate = "https://community.frame.work/search?q={searchTerms}";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Misc
|
|
||||||
{
|
|
||||||
Name = "YouTube";
|
|
||||||
Alias = "@yt";
|
|
||||||
IconURL = "https://youtube.com/favicon.ico";
|
|
||||||
SuggestURLTemplate = "http://suggestqueries.google.com/complete/search?q={searchTerms}&ds=yt";
|
|
||||||
URLTemplate = "https://www.youtube.com/results?search_query={searchTerms}";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
Name = "Genius";
|
|
||||||
Alias = "@geni";
|
|
||||||
IconURL = "https://genius.com/favicon.ico";
|
|
||||||
URLTemplate = "https://genius.com/search?q={searchTerms}";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
profiles = {
|
|
||||||
default = {
|
|
||||||
settings = {
|
|
||||||
# "full-screen-api.ignore-widgets" = true; # limit fullscreen mode to window
|
|
||||||
};
|
|
||||||
userChrome = ''
|
|
||||||
/* monofont tweak */
|
|
||||||
#statuspanel-label {
|
|
||||||
font-family: monospace;
|
|
||||||
}
|
|
||||||
.urlbar-input-box {
|
|
||||||
font-family: monospace;
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
extensions.packages =
|
|
||||||
let
|
|
||||||
addons = nur.repos.rycee.firefox-addons;
|
|
||||||
in
|
|
||||||
[
|
|
||||||
addons.sponsorblock
|
|
||||||
addons.return-youtube-dislikes
|
|
||||||
addons.shinigami-eyes
|
|
||||||
addons.consent-o-matic
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
junk = {
|
|
||||||
id = 1;
|
|
||||||
inherit (config.programs.zen-browser.profiles.default)
|
|
||||||
settings
|
|
||||||
userChrome
|
|
||||||
;
|
|
||||||
|
|
||||||
extensions.packages =
|
|
||||||
let
|
|
||||||
addons = nur.repos.rycee.firefox-addons;
|
|
||||||
in
|
|
||||||
[ addons.multi-account-containers ];
|
|
||||||
|
|
||||||
containers = {
|
|
||||||
raisin = {
|
|
||||||
color = "purple";
|
|
||||||
icon = "fruit";
|
|
||||||
id = 1;
|
|
||||||
};
|
|
||||||
pomme = {
|
|
||||||
color = "red";
|
|
||||||
icon = "fruit";
|
|
||||||
id = 2;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Isolate it because it's proprietary
|
|
||||||
tampermonkey = {
|
|
||||||
id = 2;
|
|
||||||
inherit (config.programs.zen-browser.profiles.default)
|
|
||||||
settings
|
|
||||||
userChrome
|
|
||||||
;
|
|
||||||
|
|
||||||
extensions.packages =
|
|
||||||
let
|
|
||||||
addons = nur.repos.rycee.firefox-addons;
|
|
||||||
in
|
|
||||||
[ addons.tampermonkey ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
|
|
||||||
extraHosts = ''
|
extraHosts = ''
|
||||||
#
|
#
|
||||||
# Generated from nixos configuartion
|
# Generated from nixos configuration
|
||||||
#
|
#
|
||||||
|
|
||||||
# This is the fascist one, just block it because I can't tell
|
# This is the fascist one, just block it because I can't tell
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@
|
||||||
|
|
||||||
# Use btrfs over ext4 for:
|
# Use btrfs over ext4 for:
|
||||||
# - compression
|
# - compression
|
||||||
# nix store can be shrinked using this feature
|
# nix store can be shrunk using this feature
|
||||||
# - more transparent partitions (subvolumes)
|
# - more transparent partitions (subvolumes)
|
||||||
# no more "I need more space here and not there"
|
# no more "I need more space here and not there"
|
||||||
btrfs = {
|
btrfs = {
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ in
|
||||||
# No
|
# No
|
||||||
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
||||||
|
|
||||||
# Pasword manager
|
# Password manager
|
||||||
"signon.rememberSignons" = false;
|
"signon.rememberSignons" = false;
|
||||||
"services.passwordSavingEnabled" = false;
|
"services.passwordSavingEnabled" = false;
|
||||||
"pref.privacy.disable_button.view_passwords" = false;
|
"pref.privacy.disable_button.view_passwords" = false;
|
||||||
|
|
@ -141,7 +141,7 @@ in
|
||||||
"x-scheme-handler/unknown" = "firefox.desktop";
|
"x-scheme-handler/unknown" = "firefox.desktop";
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
lib.mkIf (cfg.enable && !config.programs.zen-browser.enable) {
|
lib.mkIf cfg.enable {
|
||||||
enable = true;
|
enable = true;
|
||||||
associations.added = associations;
|
associations.added = associations;
|
||||||
defaultApplications = associations;
|
defaultApplications = associations;
|
||||||
|
|
|
||||||
|
|
@ -1,68 +0,0 @@
|
||||||
{
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
cfg = config.programs.zen-browser;
|
|
||||||
|
|
||||||
firefoxCfg = config.programs.firefox;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
programs.zen-browser = {
|
|
||||||
policies = firefoxCfg.policies;
|
|
||||||
|
|
||||||
# "locked" semantic from zen (doesn't seem to be doing anything, attempted for zen-twilight 1.18t)
|
|
||||||
# https://github.com/0xc000022070/zen-browser-flake/tree/main#preferences
|
|
||||||
#
|
|
||||||
# To check which option is mapped to which about:config
|
|
||||||
# - back preference file
|
|
||||||
# cp .zen/default/prefs.js{,.bk}
|
|
||||||
# - click the buttons
|
|
||||||
# - diff it
|
|
||||||
# diff .zen/default/prefs.js{.bk,}
|
|
||||||
profiles.default = lib.mkMerge [
|
|
||||||
firefoxCfg.profiles.default
|
|
||||||
{
|
|
||||||
# Zen specific
|
|
||||||
settings = {
|
|
||||||
"zen.theme.content-element-separation" = 0; # Remove "borders" around window
|
|
||||||
"zen.tabs.show-newtab-vertical" = false;
|
|
||||||
"zen.view.compact.toolbar-flash-popup" = true;
|
|
||||||
"zen.view.show-newtab-button-top" = false;
|
|
||||||
"zen.view.use-single-toolbar" = false;
|
|
||||||
"zen.tabs.ctrl-tab.ignore-pending-tabs" = true; # ctrl-tab ignore unloaded tabs
|
|
||||||
|
|
||||||
# https://github.com/zen-browser/desktop/discussions/12025
|
|
||||||
# This makes tabs sync across windows, which as annoying af
|
|
||||||
"zen.window-sync.enabled" = false;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.mimeApps =
|
|
||||||
let
|
|
||||||
associations = lib.genAttrs [
|
|
||||||
"application/x-extension-shtml"
|
|
||||||
"application/x-extension-xhtml"
|
|
||||||
"application/x-extension-html"
|
|
||||||
"application/x-extension-xht"
|
|
||||||
"application/x-extension-htm"
|
|
||||||
# "x-scheme-handler/unknown"
|
|
||||||
# "x-scheme-handler/mailto"
|
|
||||||
"x-scheme-handler/chrome"
|
|
||||||
"x-scheme-handler/about"
|
|
||||||
"x-scheme-handler/https"
|
|
||||||
"x-scheme-handler/http"
|
|
||||||
"application/xhtml+xml"
|
|
||||||
# "application/json"
|
|
||||||
# "text/plain"
|
|
||||||
"text/html"
|
|
||||||
] (_: cfg.package.meta.desktopFileName);
|
|
||||||
in
|
|
||||||
lib.mkIf cfg.enable {
|
|
||||||
associations.added = associations;
|
|
||||||
defaultApplications = associations;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -9,16 +9,6 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
extraRules = [
|
extraRules = [
|
||||||
{
|
{
|
||||||
# Invoke just with doas directly as a nixos-rebuild helper
|
|
||||||
#
|
|
||||||
# Specifiying just here is impractical, because
|
|
||||||
# - Use absolute path?
|
|
||||||
# Works only for a specific version of just binary.
|
|
||||||
# Also, for some reason, the rule won't match.
|
|
||||||
# - Use relative path?
|
|
||||||
# doas's docs says it searches in a "limited subset of PATH" if it's relative.
|
|
||||||
# I suspect that it doesn't search the PATH added ad-hoc by the nix-shell, also not a good solution.
|
|
||||||
# Also, for some reason, the rule won't match.
|
|
||||||
users = [ ":wheel" ];
|
users = [ ":wheel" ];
|
||||||
setEnv = [ "PATH" ];
|
setEnv = [ "PATH" ];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
package = lib.mkDefault pkgs.nix;
|
package = lib.mkDefault pkgs.nix;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
# it is impossible to anser in nix-direnv, so we force it to off.
|
# it is impossible to anwser to the prompt in nix-direnv, so we force it to off.
|
||||||
# https://github.com/nix-community/nix-direnv/issues/678
|
# https://github.com/nix-community/nix-direnv/issues/678
|
||||||
accept-flake-config = lib.mkForce false;
|
accept-flake-config = lib.mkForce false;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -368,19 +368,6 @@
|
||||||
"revision": "491197a6a5ef9c65a85c3eb1531786f32ffff5b3",
|
"revision": "491197a6a5ef9c65a85c3eb1531786f32ffff5b3",
|
||||||
"url": "https://github.com/Toqozz/wired-notify/archive/491197a6a5ef9c65a85c3eb1531786f32ffff5b3.tar.gz",
|
"url": "https://github.com/Toqozz/wired-notify/archive/491197a6a5ef9c65a85c3eb1531786f32ffff5b3.tar.gz",
|
||||||
"hash": "sha256-wxkeSF0/3FI0HSBKhZ2mlAAmFviNrZzdhjHqTfWP6h0="
|
"hash": "sha256-wxkeSF0/3FI0HSBKhZ2mlAAmFviNrZzdhjHqTfWP6h0="
|
||||||
},
|
|
||||||
"zen-browser": {
|
|
||||||
"type": "Git",
|
|
||||||
"repository": {
|
|
||||||
"type": "GitHub",
|
|
||||||
"owner": "0xc000022070",
|
|
||||||
"repo": "zen-browser-flake"
|
|
||||||
},
|
|
||||||
"branch": "main",
|
|
||||||
"submodules": false,
|
|
||||||
"revision": "0fac05e4b604c3304e7710a95572e78350fe9968",
|
|
||||||
"url": "https://github.com/0xc000022070/zen-browser-flake/archive/0fac05e4b604c3304e7710a95572e78350fe9968.tar.gz",
|
|
||||||
"hash": "sha256-jejW3u1bkqz0ObXZeiZqLQNwC7+MXb8/KMwf3VPQpRI="
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": 7
|
"version": 7
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ in
|
||||||
{
|
{
|
||||||
pkgs ? import sources.nixpkgs {
|
pkgs ? import sources.nixpkgs {
|
||||||
overlays = map import [
|
overlays = map import [
|
||||||
|
./nix/overlays/agenix.nix
|
||||||
./nix/overlays/disko.nix
|
./nix/overlays/disko.nix
|
||||||
./nix/overlays/npins.nix
|
./nix/overlays/npins.nix
|
||||||
./nix/packages/overlay.nix
|
./nix/packages/overlay.nix
|
||||||
|
|
@ -18,8 +19,10 @@ pkgs.mkShell {
|
||||||
packages =
|
packages =
|
||||||
with pkgs;
|
with pkgs;
|
||||||
[
|
[
|
||||||
|
agenix # from agenix repo
|
||||||
npins # from npins repo
|
npins # from npins repo
|
||||||
disko # from disko flake
|
disko # from disko flake
|
||||||
|
stow
|
||||||
manage
|
manage
|
||||||
nixos-anywhere # comes from nixpkgs
|
nixos-anywhere # comes from nixpkgs
|
||||||
]
|
]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue