Add tungsten (#9)

Reviewed-on: https://codeberg.org/leana8959/.files/pulls/9
Co-authored-by: Léana 江 <leana.jiang+git@icloud.com>
Co-committed-by: Léana 江 <leana.jiang+git@icloud.com>
This commit is contained in:
Primrose 2025-04-10 23:25:55 +00:00 committed by Léana
parent 1848be039a
commit b20a752858
41 changed files with 1749 additions and 43 deletions

View file

@ -0,0 +1,58 @@
{
pkgs,
lib,
config,
...
}: {
# home.packages = [
# # preview markdown
# pkgs.python3Packages.grip
#
# pkgs.gh
# ];
programs.neovim.extraPackages = [
# lua
pkgs.lua-language-server
pkgs.stylua
pkgs.nil # nix
# pkgs.yaml-language-server # yaml
#
# pkgs.pyright # python
#
# pkgs.marksman # markdown
# pkgs.taplo # toml
# pkgs.lemminx # xml
# # pkgs.texlab # latex
#
# # fish
# pkgs.fish-lsp
#
# # spellchecking
# pkgs.myPkgs.ltex-ls-plus
];
programs.git = {
enable = true;
signing.signByDefault = true;
maintenance = {
enable = true;
repositories =
lib.map (path: config.home.homeDirectory + "/${path}")
[
"r/nixos/nixpkgs"
];
};
};
programs.gpg.enable = true;
# programs.vscode = {
# enable = true;
# extensions = [
# pkgs.vscode-extensions.redhat.java
# pkgs.vscode-extensions.vscjava.vscode-java-pack
# ];
# };
}

View file

@ -0,0 +1,79 @@
{
pkgs,
config,
...
}: let
inherit (pkgs) nur;
in {
programs.firefox = {
enable = true;
policies.SearchEngines = {
Default = "searxng";
Add = [
{
Name = "searxng";
URLTemplate = "https://sxng.confusedcompiler.org/search?q={searchTerms}";
}
];
};
profiles = {
default = {
extensions = let
addons = nur.repos.rycee.firefox-addons;
in [
addons.languagetool
addons.sponsorblock
addons.return-youtube-dislikes
addons.shinigami-eyes
# flaky, find a better source to be fetched
# addons.bypass-paywalls-clean
];
};
junk = {
id = 1;
inherit
(config.programs.firefox.profiles.default)
settings
userChrome
;
extensions = 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.firefox.profiles.default)
settings
userChrome
;
extensions = let
addons = nur.repos.rycee.firefox-addons;
in [addons.tampermonkey];
};
};
};
}

View file

@ -0,0 +1,61 @@
{
pkgs,
lib,
nixosConfig ? {},
...
}: {
#
# fonts
#
fonts.fontconfig = {
enable = true;
defaultFonts = lib.mapAttrsRecursive (_: v: v ++ ["Last Resort"]) {
sansSerif = ["Ubuntu" "Noto Sans CJK TC"];
serif = ["Noto Serif CJK TC"];
monospace = ["Iosevka"];
emoji = ["Noto Color Emoji"];
};
};
home.packages = [
pkgs.noto-fonts
pkgs.noto-fonts-lgc-plus
pkgs.noto-fonts-cjk-sans
pkgs.noto-fonts-cjk-serif
pkgs.noto-fonts-color-emoji
pkgs.noto-fonts-emoji-blob-bin
pkgs.ubuntu-classic
pkgs.iosevka
pkgs.last-resort
];
home.file = {
".xscreensaver".source = "${./xscreensaver/.xscreensaver}";
".wallpaper".source = "${pkgs.wallpapers.estradiol}/main.svg";
};
home.pointerCursor = {
x11.enable = true;
gtk.enable = true;
inherit
(nixosConfig.services.xserver.displayManager.lightdm.greeters.gtk.cursorTheme)
name
package
size
;
};
xresources.properties."Xft.dpi" = 92;
i18n.inputMethod.enabled = "fcitx5";
# Disable the blueman pop up persistently
# https://github.com/blueman-project/blueman/issues/1556#issuecomment-882857426
dconf.settings."org/blueman/general" = {
plugin-list = ["!ConnectionNotifier"];
};
xdg.mimeApps = {
enable = true;
associations.added."x-scheme-handler/mailto" = ["org.gnome.Evolution.desktop"];
defaultApplications."x-scheme-handler/mailto" = ["org.gnome.Evolution.desktop"];
};
}

View file

@ -0,0 +1,131 @@
{pkgs, ...}: let
inherit (pkgs) myPkgs;
in {
imports = [
#
# CLI / TUI
#
{
home.packages = [
pkgs.stow
pkgs.zip
pkgs.unzip
pkgs.gnutar
pkgs.p7zip
pkgs.bc
pkgs.dig
myPkgs.hutils
# pkgs.miniserve
pkgs.agenix
# pdf
# pkgs.poppler_utils # pdfseparate, pdfunite
# myPkgs.easyscan
# fun
# myPkgs.prop-solveur
# myPkgs.hbf
# pkgs.lucky-commit
# pretty tui tools
pkgs.du-dust
pkgs.tldr
myPkgs.tokei
pkgs.hyperfine
pkgs.watchexec
pkgs.onefetch
pkgs.just
# nix tools
pkgs.alejandra
# pkgs.nh
pkgs.nix-output-monitor
pkgs.nix-tree
pkgs.nurl
pkgs.nvd
pkgs.niv
# myPkgs.nd
];
programs = {
neovim.enable = true;
neovim.defaultEditor = true;
fish.enable = true;
starship.enable = true;
tmux.enable = true;
direnv.enable = true;
ripgrep.enable = true;
password-store.enable = true;
# ROCm support is needed for AMD GPU
# https://github.com/aristocratos/btop?tab=readme-ov-file#gpu-compatibility
btop.enable = true;
btop.package = pkgs.btop-rocm;
cmus.enable = true;
ranger.enable = true;
};
}
#
# GUI
#
{
home.packages = [
# productivity / media
# pkgs.evolution
# pkgs.libreoffice
# pkgs.iamb
# pkgs.calibre
# pkgs.rawtherapee
# pkgs.digikam
# pkgs.gimp
pkgs.vlc
pkgs.nautilus
pkgs.sushi # space bar previewer
# pkgs.blender
# pkgs.inkscape
# pkgs.aseprite
# wm utilities
myPkgs.xbrightness
pkgs.dmenu
pkgs.xclip
pkgs.playerctl # talk to playerctld
pkgs.hacksaw
pkgs.shotgun
pkgs.xscreensaver # talk to xscreensaver
pkgs.xcolor
# pkgs.boomer
# audio utilities
pkgs.helvum
pkgs.pavucontrol
];
programs = {
feh.enable = true;
sioyek.enable = true;
kitty.enable = true;
};
services = {
wired.enable = true;
playerctld.enable = true;
gpg-agent.enable = true;
gnome-keyring = {
enable = true;
components = ["secrets"];
};
battery-notify = {
enable = true;
device_full = "/sys/class/power_supply/BAT0/charge_full";
device_now = "/sys/class/power_supply/BAT0/charge_now";
};
};
}
];
}

View file

@ -0,0 +1,29 @@
{
programs.xmobar = {
enable = true;
extraConfig = ''
Config { overrideRedirect = False
, font = "Iosevka 13"
, bgColor = "#000000"
, fgColor = "#FFFFFF"
, position = BottomH 30
, commands = [ Run Date "%a %d %H:%M:%S" "date" 10
, Run Battery
[ "-t", "<acstatus>:<left>%"
, "--"
, "-O", "󰂄"
, "-i", "󱟦"
, "-o", "󰁾"
, "-h", "green"
, "-m", "yell"
, "-l", "red"
] 10
, Run XMonadLog
]
, sepChar = "%"
, alignSep = "}{"
, template = " %XMonadLog% }{ %battery% | %date% "
}
'';
};
}

View file

@ -0,0 +1,299 @@
# XScreenSaver Preferences File
# Written by xscreensaver-settings 6.08 for leana on Tue Jul 23 23:44:33 2024.
# https://www.jwz.org/xscreensaver/
timeout: 0:07:00
cycle: 0:07:00
lock: True
lockTimeout: 0:00:00
passwdTimeout: 0:00:30
visualID: default
installColormap: True
verbose: False
splash: True
splashDuration: 0:00:05
demoCommand: xscreensaver-settings
nice: 10
fade: False
unfade: False
fadeSeconds: 0:00:03
ignoreUninstalledPrograms:False
dpmsEnabled: True
dpmsQuickOff: False
dpmsStandby: 0:10:00
dpmsSuspend: 0:10:00
dpmsOff: 0:15:00
grabDesktopImages: True
grabVideoFrames: False
chooseRandomImages: False
imageDirectory:
mode: one
selected: 204
textMode: url
textLiteral: XScreenSaver
textFile:
textProgram: fortune
textURL: https://en.wikipedia.org/w/index.php?title=Special:NewPages&feed=rss
dialogTheme: default
settingsGeom: 15,32 216,222
programs: \
maze --root \n\
GL: superquadrics --root \n\
attraction --root \n\
blitspin --root \n\
greynetic --root \n\
helix --root \n\
hopalong --root \n\
imsmap --root \n\
- noseguy --root \n\
- pyro --root \n\
qix --root \n\
- rocks --root \n\
rorschach --root \n\
decayscreen --root \n\
flame --root \n\
halo --root \n\
slidescreen --root \n\
pedal --root \n\
bouboule --root \n\
- braid --root \n\
coral --root \n\
deco --root \n\
drift --root \n\
- fadeplot --root \n\
galaxy --root \n\
goop --root \n\
grav --root \n\
ifs --root \n\
GL: jigsaw --root \n\
julia --root \n\
- kaleidescope --root \n\
GL: moebius --root \n\
moire --root \n\
GL: morph3d --root \n\
mountain --root \n\
munch --root \n\
penrose --root \n\
GL: pipes --root \n\
rdbomb --root \n\
GL: rubik --root \n\
- sierpinski --root \n\
slip --root \n\
GL: sproingies --root \n\
starfish --root \n\
strange --root \n\
swirl --root \n\
triangle --root \n\
xjack --root \n\
xlyap --root \n\
GL: atlantis --root \n\
bsod --root \n\
GL: bubble3d --root \n\
GL: cage --root \n\
- crystal --root \n\
cynosure --root \n\
discrete --root \n\
distort --root \n\
epicycle --root \n\
flow --root \n\
GL: glplanet --root \n\
interference --root \n\
kumppa --root \n\
GL: lament --root \n\
moire2 --root \n\
GL: sonar --root \n\
GL: stairs --root \n\
truchet --root \n\
- vidwhacker --root \n\
- webcollage --root \n\
blaster --root \n\
bumps --root \n\
ccurve --root \n\
compass --root \n\
deluxe --root \n\
- demon --root \n\
GL: extrusion --root \n\
- loop --root \n\
penetrate --root \n\
petri --root \n\
phosphor --root \n\
GL: pulsar --root \n\
ripples --root \n\
shadebobs --root \n\
GL: sierpinski3d --root \n\
spotlight --root \n\
squiral --root \n\
wander --root \n\
xflame --root \n\
xmatrix --root \n\
GL: gflux --root \n\
- nerverot --root \n\
xrayswarm --root \n\
xspirograph --root \n\
GL: circuit --root \n\
GL: dangerball --root \n\
- GL: dnalogo --root \n\
GL: engine --root \n\
GL: flipscreen3d --root \n\
GL: gltext --root \n\
GL: menger --root \n\
GL: molecule --root \n\
rotzoomer --root \n\
scooter --root \n\
speedmine --root \n\
GL: starwars --root \n\
GL: stonerview --root \n\
vermiculate --root \n\
whirlwindwarp --root \n\
zoom --root \n\
anemone --root \n\
apollonian --root \n\
GL: boxed --root \n\
GL: cubenetic --root \n\
GL: endgame --root \n\
euler2d --root \n\
fluidballs --root \n\
GL: flurry --root \n\
- GL: glblur --root \n\
GL: glsnake --root \n\
halftone --root \n\
GL: juggler3d --root \n\
GL: lavalite --root \n\
- polyominoes --root \n\
GL: queens --root \n\
- GL: sballs --root \n\
GL: spheremonics --root \n\
twang --root \n\
- GL: antspotlight --root \n\
apple2 --root \n\
GL: atunnel --root \n\
barcode --root \n\
GL: blinkbox --root \n\
GL: blocktube --root \n\
GL: bouncingcow --root \n\
cloudlife --root \n\
GL: cubestorm --root \n\
eruption --root \n\
GL: flipflop --root \n\
GL: flyingtoasters --root \n\
fontglide --root \n\
GL: gleidescope --root \n\
GL: glknots --root \n\
GL: glmatrix --root \n\
- GL: glslideshow --root \n\
GL: hypertorus --root \n\
- GL: jigglypuff --root \n\
metaballs --root \n\
GL: mirrorblob --root \n\
piecewise --root \n\
GL: polytopes --root \n\
pong --root \n\
popsquares --root \n\
GL: surfaces --root \n\
xanalogtv --root \n\
abstractile --root \n\
anemotaxis --root \n\
- GL: antinspect --root \n\
fireworkx --root \n\
fuzzyflakes --root \n\
interaggregate --root \n\
intermomentary --root \n\
memscroller --root \n\
GL: noof --root \n\
pacman --root \n\
GL: pinion --root \n\
GL: polyhedra --root \n\
- GL: providence --root \n\
substrate --root \n\
wormhole --root \n\
- GL: antmaze --root \n\
GL: boing --root \n\
boxfit --root \n\
GL: carousel --root \n\
celtic --root \n\
GL: crackberg --root \n\
GL: cube21 --root \n\
fiberlamp --root \n\
GL: fliptext --root \n\
GL: glhanoi --root \n\
GL: tangram --root \n\
GL: timetunnel --root \n\
GL: glschool --root \n\
GL: topblock --root \n\
GL: cubicgrid --root \n\
cwaves --root \n\
GL: gears --root \n\
GL: glcells --root \n\
GL: lockward --root \n\
m6502 --root \n\
GL: moebiusgears --root \n\
GL: voronoi --root \n\
GL: hypnowheel --root \n\
GL: klein --root \n\
- lcdscrub --root \n\
GL: photopile --root \n\
GL: skytentacles --root \n\
GL: rubikblocks --root \n\
GL: companioncube --root \n\
GL: hilbert --root \n\
GL: tronbit --root \n\
GL: geodesic --root \n\
hexadrop --root \n\
GL: kaleidocycle --root \n\
GL: quasicrystal --root \n\
GL: unknownpleasures --root --no-ortho \n\
binaryring --root \n\
GL: cityflow --root \n\
GL: geodesicgears --root \n\
GL: projectiveplane --root \n\
GL: romanboy --root \n\
tessellimage --root \n\
GL: winduprobot --root \n\
GL: splitflap --root \n\
GL: cubestack --root \n\
GL: cubetwist --root \n\
GL: discoball --root \n\
GL: dymaxionmap --root \n\
GL: energystream --root \n\
GL: hexstrut --root \n\
GL: hydrostat --root \n\
GL: raverhoop --root \n\
GL: splodesic --root \n\
GL: unicrud --root \n\
GL: esper --root \n\
GL: vigilance --root \n\
GL: crumbler --root \n\
filmleader --root \n\
glitchpeg --root \n\
GL: handsy --root \n\
GL: maze3d --root \n\
GL: peepers --root \n\
GL: razzledazzle --root \n\
vfeedback --root \n\
GL: deepstars --root \n\
GL: gravitywell --root \n\
GL: beats --root \n\
GL: covid19 --root \n\
GL: etruscanvenus --root \n\
GL: gibson --root \n\
GL: headroom --root \n\
GL: sphereeversion --root \n\
binaryhorizon --root \n\
marbling --root \n\
GL: chompytower --root \n\
GL: hextrail --root \n\
GL: mapscroller --root \n\
GL: nakagin --root \n\
GL: squirtorus --root \n\
GL: cubocteversion --root \n\
droste --root \n\
GL: papercube --root \n\
GL: skulloop --root \n\
pointerHysteresis: 10
authWarningSlack: 20