nix: move all home configurations to homeModules

export them
This commit is contained in:
Primrose 2024-10-30 19:24:48 +01:00
parent 2c5e75f3e7
commit ce26e04e9c
Signed by: primrose
GPG key ID: 4E887A4CA9714ADA
14 changed files with 8 additions and 3 deletions

View file

@ -3,6 +3,10 @@
let
common = modulesFromDir ./common;
extra = modulesFromDir ./extra;
named = lib.mapAttrs' (name: value: {
name = "named-" + name;
inherit value;
}) (modulesFromDir ./named);
in
{
@ -13,5 +17,6 @@ in
}
common
extra
named
];
}

View file

@ -0,0 +1,31 @@
{ pkgs, ... }:
let
inherit (pkgs) myPkgs;
in
{
imports = [ ./fonts.nix ];
home.packages = [
pkgs.qmk
pkgs.wally-cli
# pkgs.cargo
pkgs.nix-inspect
# pkgs.nix-visualize
# pkgs.nix-du
pkgs.deploy-rs
pkgs.audio-lint
# pkgs.hbrainfuck
# pkgs.prop-solveur
myPkgs.maeel
pkgs.docker
pkgs.docker-compose
pkgs.colima
];
programs.neovim.extraPackages = [ myPkgs.fish-lsp ];
}

View file

@ -0,0 +1,13 @@
{ pkgs, ... }:
let
inherit (pkgs) myPkgs;
in
{
home.packages = [
myPkgs.hiosevka-nerd-font-mono
pkgs.jetbrains-mono
pkgs.lmodern
pkgs.cascadia-code
];
}

View file

@ -0,0 +1,158 @@
{ pkgs, ... }:
let
inherit (pkgs) nur;
in
{
home.packages = [
pkgs.cascadia-code # Used in tab bar
];
programs.firefox = {
enable = true;
package = pkgs.firefox-esr; # some options only works with firefox-esr
# https://mozilla.github.io/policy-templates
policies = {
HardwareAcceleration = true;
DisableFirefoxScreenshots = true;
DisablePocket = true;
DisplayMenuBar = "never";
DisplayBookmarksToolbar = "never";
NoDefaultBookmarks = true;
OfferToSaveLogins = false;
OfferToSaveLoginsDefault = false;
PasswordManagerEnabled = false;
FirefoxHome = {
Search = true;
TopSites = true;
SponsoredTopSites = false;
Highlights = false;
Pocket = false;
SponsoredPocket = false;
};
UserMessaging = {
ExtensionRecommendations = false;
SkipOnboarding = true;
};
DNSOverHTTPS = {
Enabled = true;
};
EnableTrackingProtection = {
Value = true;
Cryptomining = true;
Fingerprinting = true;
};
SearchEngines = {
Default = "searxng";
Add = [
{
Name = "searxng";
URLTemplate = "https://searxng.earth2077.fr/search?q={searchTerms}";
}
];
};
};
profiles.leana = {
id = 0;
name = "leana";
search = {
force = true;
default = "searxng";
engines = {
"Nix Packages" = {
urls = [
{
template = "https://search.nixos.org/packages";
params = [
{
name = "type";
value = "packages";
}
{
name = "query";
value = "{searchTerms}";
}
];
}
];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "@np" ];
};
Searxng = {
urls = [ { template = "https://searxng.earth2077.fr/search?query={searchTerms}"; } ];
iconUpdateURL = "https://searxng.earth2077.fr/favicon.png";
};
Invidious = {
urls = [ { template = "https://invidious.earth2077.fr/search?q={searchTerms}"; } ];
definedAliases = [ "@yt" ];
iconUpdateURL = "https://invidious.earth2077.fr/favicon-32x32.png";
};
Hoogle = {
urls = [ { template = "https://hoogle.haskell.org/?hoogle={searchTerms}"; } ];
iconUpdateURL = "https://hoogle.haskell.org/favicon.png";
definedAliases = [ "@hg" ];
};
Genius = {
urls = [ { template = "https://genius.com/search?q={searchTerms}"; } ];
iconUpdateURL = "https://genius.com/favicon.ico";
definedAliases = [ "@ge" ];
};
"NixOS Wiki" = {
urls = [ { template = "https://nixos.wiki/index.php?search={searchTerms}"; } ];
iconUpdateURL = "https://nixos.wiki/favicon.png";
definedAliases = [ "@nw" ];
};
"Wikipedia (en)".metaData.alias = "@wk";
};
};
settings = {
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"layout.css.devPixelsPerPx" = 1.2;
"browser.tabs.loadInBackground" = true;
"browser.ctrlTab.sortByRecentlyUsed" = false;
};
userChrome =
let
onebar = pkgs.fetchFromGitea {
domain = "git.gay";
owner = "freeplay";
repo = "Firefox-Onebar";
rev = "197a5e5298985be3767da504bac153f3b75b63f7";
hash = "sha256-+AG6dp92//zEROtKQgPPB0YCTGtHywM8AtobvguF1PM=";
};
in
''
#statuspanel-label {
font-size: 18px !important;
font-family: "Cascadia Code" !important;
}
.urlbar-input-box {
font-size: 18px !important;
font-family: "Cascadia Code" !important;
}
${builtins.readFile "${onebar}/onebar.css"}
'';
userContent = ''
/* a css */
'';
extensions =
let
addons = nur.repos.rycee.firefox-addons;
in
[
addons.ublock-origin
addons.privacy-badger
addons.sponsorblock
addons.tridactyl
addons.languagetool
# flaky, find a better source to be fetched
# addons.bypass-paywalls-clean
addons.news-feed-eradicator
];
};
};
}

View file

@ -0,0 +1,59 @@
{ pkgs, ... }:
let
inherit (pkgs) myPkgs;
in
{
imports = [
./browser.nix
./wm.nix
# system-wide language servers, build tools, compilers
./dev.nix
];
home.packages = [
pkgs.zip
pkgs.unzip
pkgs.gnutar
pkgs.p7zip
pkgs.bc
# pdf utilities
pkgs.poppler_utils # pdfseparate, pdfunite
myPkgs.easyscan
pkgs.deploy-rs
myPkgs.nd
pkgs.discord
# CVE-2024-45191
# CVE-2024-45192
# CVE-2024-45193
# disabled for security
#
# pkgs.cinny-desktop
pkgs.hacksaw
pkgs.shotgun
pkgs.vlc
pkgs.evolution
pkgs.teams-for-linux
myPkgs.typst-mutilate
pkgs.prop-solveur
pkgs.hbf
pkgs.agenix
];
programs = {
kitty.enable = true;
password-store.enable = true;
};
}

View file

@ -0,0 +1,89 @@
{ pkgs, config, ... }:
let
inherit (pkgs) myPkgs;
in
{
home.packages = [
pkgs.jetbrains.idea-community
# keyboard
pkgs.clang-tools
pkgs.qmk
pkgs.wally-cli
# golang
pkgs.go
pkgs.golangci-lint
pkgs.gofumpt
# typescript
pkgs.typescript
pkgs.nodejs_20
pkgs.vscode-langservers-extracted # HTML/CSS/JSON/ESLint
pkgs.nodePackages."@angular/cli" # module WE
# rust
pkgs.cargo
pkgs.rustc
pkgs.rustfmt
# java
pkgs.maven
# scala
(pkgs.sbt.override { jre = config.programs.java.package; })
(pkgs.scala.override { jre = config.programs.java.package; })
(pkgs.metals.override { jre = config.programs.java.package; })
(pkgs.ammonite.override { jre = config.programs.java.package; })
pkgs.gnumake
pkgs.cmake
pkgs.iconv
pkgs.sqlite
# isabelle
pkgs.isabelle
# preview markdown
pkgs.python3Packages.grip
];
programs.neovim.extraPackages = [
# fish
myPkgs.fish-lsp
# golang
pkgs.gopls
pkgs.golangci-lint-langserver
# typescript
pkgs.nodePackages.typescript-language-server
# rust
pkgs.rust-analyzer
# java
pkgs.jdt-language-server
];
programs.vscode = {
enable = true;
extensions = [
(pkgs.vscode-extensions.redhat.java.overrideAttrs { jdk = config.programs.java.package; })
pkgs.vscode-extensions.vscjava.vscode-java-pack
];
};
programs.go = {
enable = true;
goPath = ".go";
};
programs.java = {
enable = true;
package = pkgs.jdk17.override { enableJavaFX = true; };
};
}

View file

@ -0,0 +1,83 @@
{ pkgs, ... }:
let
inherit (pkgs) myPkgs;
wallpapers = {
nixos = pkgs.fetchurl {
url = "https://c.wallhere.com/photos/49/ce/Linux_Nixos_operating_system_minimalism-2175179.jpg!d";
hash = "sha256-RdrkvsVB6fHnyDZQ6wCGc7lUP7FoDYGvx2jfWB1WSvI=";
};
sequoia = pkgs.fetchurl {
url = "https://basicappleguy.com/s/SequoiaLight.png";
hash = "sha256-F3vo07kdE19luHtrBO8Q+Rj0mk+UlgtOSwOVdFW8Vlk=";
};
apple-pride-mac = pkgs.fetchurl {
url = "https://basicappleguy.com/s/Pride_Mac2.png";
hash = "sha256-PkGIlWf554Lk5e2gLDpDg+Rmb9qAniTiNvbV3/pppwA=";
};
apple-nebula-ipad = pkgs.fetchurl {
url = "https://basicappleguy.com/s/NebulaiPad.png";
hash = "sha256-rpWxhCH7eIT7ktRAROvL56eRK0T6AsgGE+iI/CLUF3k=";
};
"luz&amity_20_windz" = pkgs.fetchurl {
url = "https://64.media.tumblr.com/a28bd2446401e30cc879a641a3038ac7/fcdeee73cdb01c35-18/s2048x3072/c6c89f6de58d26eeb9848d5f41b20ebbcec94b6d.pnj";
hash = "sha256-isdyegUoGXZyFDCyBMCNadIv/jry82slXkjcdXpNKrY=";
};
nixos-artwork-binary-black_8k = pkgs.fetchurl {
url = "https://github.com/NixOS/nixos-artwork/blob/53ea652ec7d8af5d21fd2b79b6c49cb39078ddfb/wallpapers/nix-wallpaper-binary-black_8k.png?raw=true";
hash = "sha256-MxEgvzWmdqMeI5GeI6Hzci6yd5iL44NDXyKQOuw+fLY=";
};
};
in
{
home.pointerCursor = {
x11.enable = true;
gtk.enable = true;
name = "volantes_cursors";
package = pkgs.volantes-cursors;
size = 64;
};
home.file = {
".xscreensaver".source = ./xscreensaver/.xscreensaver;
".wallpaper".source = "${pkgs.wallpapers.y-combinator}/main.svg";
};
home.packages = [
# Fonts
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
myPkgs.altiosevka-nerd-font-mono
myPkgs.altiosevka
pkgs.xmobar
pkgs.wired
pkgs.jetbrains-mono
pkgs.dmenu
pkgs.xclip
pkgs.playerctl
pkgs.cabal-install
(pkgs.haskellPackages.ghcWithPackages (self: [
self.xmonad-contrib
self.xmonad-extras
]))
pkgs.haskell-language-server
myPkgs.xbrightness
pkgs.ranger
];
}

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:10:00
cycle: 0:10: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: False
dpmsQuickOff: False
dpmsStandby: 2:00:00
dpmsSuspend: 2:00:00
dpmsOff: 4:00: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

View file

@ -0,0 +1,13 @@
{ pkgs, ... }:
{
home.packages = [
pkgs.just
pkgs.parallel
];
programs.java = {
enable = true;
package = pkgs.jdk17;
};
}

View file

@ -0,0 +1,19 @@
{ pkgs, lib, ... }:
let
inherit (pkgs) myPkgs;
in
{
home = {
username = "ychiang";
homeDirectory = "/udd/ychiang";
};
home.packages = [ myPkgs.necrolib ];
home.file.".local/share/fonts/truetype".source = "${myPkgs.altiosevka-nerd-font-mono}/share/fonts/truetype";
# it gets turned off so I need to run it more frequently
nix.gc.frequency = lib.mkForce "3 hours";
}

View file

@ -0,0 +1,12 @@
{ pkgs, ... }:
{
home = {
username = "ubuntu";
homeDirectory = "/home/ubuntu";
};
home.packages = [
pkgs.jq
pkgs.cachix
];
}

View file

@ -0,0 +1 @@
{ imports = [ ./fonts.nix ]; }

View file

@ -0,0 +1,13 @@
{ pkgs, ... }:
let
inherit (pkgs) myPkgs;
in
{
home.packages = [
myPkgs.hiosevka-nerd-font-mono
pkgs.jetbrains-mono
pkgs.lmodern
pkgs.cascadia-code
];
}