summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuentin Aristote <quentin@aristote.fr>2023-03-01 13:50:55 +0100
committerQuentin Aristote <quentin@aristote.fr>2023-03-01 14:03:57 +0100
commit21034a5a36d62fbad795c4139c98c32e0516ec93 (patch)
treedb063cbb3e91bf7231c0eb54fb54b3cb5ac51dfe
parentceb6a8075e1b6e1228b7c75a8da36ed520d32b5f (diff)
restructure pkgs
-rw-r--r--flake.lock55
-rw-r--r--flake.nix33
-rw-r--r--modules/home-manager/personal/dotfiles/background-imagebin581223 -> 0 bytes
-rw-r--r--modules/home-manager/personal/dotfiles/default.nix1
-rw-r--r--modules/home-manager/personal/environment.nix7
-rw-r--r--modules/home-manager/personal/gui/x/i3/startup.nix3
-rw-r--r--modules/home-manager/personal/profiles.nix6
-rw-r--r--modules/home-manager/personal/programs/firefox/default.nix4
-rw-r--r--modules/home-manager/personal/programs/firefox/userjs.nix124
-rw-r--r--modules/home-manager/personal/programs/git.nix2
-rw-r--r--modules/home-manager/personal/programs/thunderbird.nix2
-rw-r--r--pkgs/default.nix64
-rw-r--r--pkgs/firefoxAddons/addons.json (renamed from pkgs/mozilla/addons/addons.json)0
-rw-r--r--pkgs/firefoxAddons/default.nix (renamed from pkgs/mozilla/addons/default.nix)0
-rw-r--r--pkgs/gitignore/default.nix16
-rw-r--r--pkgs/static/css/lineAwesome/default.nix (renamed from pkgs/css/lineAwesome/default.nix)6
-rw-r--r--pkgs/static/fontMetadata/fontawesome/default.nix (renamed from pkgs/fontMetadata/fontawesome.nix)0
-rw-r--r--pkgs/static/fontMetadata/materialDesignIcons/default.nix (renamed from pkgs/fontMetadata/materialDesignIcons.nix)0
-rw-r--r--pkgs/static/gitignore/default.nix12
-rw-r--r--pkgs/static/gitignore/sources.json6
-rw-r--r--pkgs/static/icons/default.nix (renamed from pkgs/icons/default.nix)6
-rwxr-xr-xpkgs/static/icons/generate.sh (renamed from pkgs/icons/generate-package.sh)5
-rw-r--r--pkgs/static/icons/urls.txt (renamed from pkgs/icons/icons.txt)0
-rw-r--r--pkgs/static/userjs/arkenfox/default.nix (renamed from pkgs/mozilla/user-js/arkenfox.nix)0
-rw-r--r--pkgs/static/userjs/thunderbird/default.nix (renamed from pkgs/mozilla/user-js/thunderbird.nix)0
-rw-r--r--pkgs/static/wallpapers/default.nix22
-rw-r--r--pkgs/static/wallpapers/sources.json12
27 files changed, 240 insertions, 146 deletions
diff --git a/flake.lock b/flake.lock
new file mode 100644
index 0000000..e9e05c4
--- /dev/null
+++ b/flake.lock
@@ -0,0 +1,55 @@
+{
+ "nodes": {
+ "flake-utils": {
+ "locked": {
+ "lastModified": 1676283394,
+ "narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073",
+ "type": "github"
+ },
+ "original": {
+ "id": "flake-utils",
+ "type": "indirect"
+ }
+ },
+ "nixpkgs": {
+ "locked": {
+ "lastModified": 1677560409,
+ "narHash": "sha256-PIvUIsVNozPXe1FmNe9c6B8Febl3t9+51uBKMJ1Q8o0=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "9e56d6ec92c8fb4192f1392aa5c4101ad77f2070",
+ "type": "github"
+ },
+ "original": {
+ "id": "nixpkgs",
+ "type": "indirect"
+ }
+ },
+ "nur": {
+ "locked": {
+ "lastModified": 1677656154,
+ "narHash": "sha256-C+LNfSAlWyRVNiwBoYodxnrVzDymA5dR36dg1epXAk4=",
+ "owner": "nix-community",
+ "repo": "NUR",
+ "rev": "458246a5098156e4d8be62de85a03feec6a2e4fe",
+ "type": "github"
+ },
+ "original": {
+ "id": "nur",
+ "type": "indirect"
+ }
+ },
+ "root": {
+ "inputs": {
+ "flake-utils": "flake-utils",
+ "nixpkgs": "nixpkgs",
+ "nur": "nur"
+ }
+ }
+ },
+ "root": "root",
+ "version": 7
+}
diff --git a/flake.nix b/flake.nix
index 1deea78..1f6814b 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,17 +1,24 @@
{
- outputs = { self, nur, ... }: {
- nixosModules.personal = import ./modules/nixos;
- homeModules.personal = import ./modules/home-manager;
- overlays = {
- default = self.overlays.personal;
- personal = self: super:
- let personal-pkgs = import ./pkgs (self.extend nur.overlay);
- in {
- personal = (super.personal or { }) // personal-pkgs;
- lib = (super.lib or { }) // {
- personal = (super.lib.personal or { }) // personal-pkgs.lib;
+ outputs = { self, flake-utils, nur, nixpkgs, ... }:
+ {
+ nixosModules.personal = import ./modules/nixos;
+ homeModules.personal = import ./modules/home-manager;
+ overlays = {
+ default = self.overlays.personal;
+ personal = self: super:
+ let personalPackages = import ./pkgs (super.extend nur.overlay);
+ in {
+ personal = (super.personal or { }) // personalPackages;
+ lib = (super.lib or { }) // {
+ personal = (super.lib.personal or { }) // personalPackages.lib;
+ };
};
+ };
+ } // flake-utils.lib.eachDefaultSystem (system:
+ let
+ pkgs = import nixpkgs {
+ inherit system;
+ overlays = [ nur.overlay ];
};
- };
- };
+ in { packages = import ./pkgs pkgs; });
}
diff --git a/modules/home-manager/personal/dotfiles/background-image b/modules/home-manager/personal/dotfiles/background-image
deleted file mode 100644
index 4288f3e..0000000
--- a/modules/home-manager/personal/dotfiles/background-image
+++ /dev/null
Binary files differ
diff --git a/modules/home-manager/personal/dotfiles/default.nix b/modules/home-manager/personal/dotfiles/default.nix
index 27610ca..bccd4f8 100644
--- a/modules/home-manager/personal/dotfiles/default.nix
+++ b/modules/home-manager/personal/dotfiles/default.nix
@@ -2,7 +2,6 @@
{
personal.home.dotfiles = {
- wallpaper = ./background-image;
latexmkrc = ./latexmkrc;
rofi = ./rofi.rasi;
spacemacs = ./spacemacs.el;
diff --git a/modules/home-manager/personal/environment.nix b/modules/home-manager/personal/environment.nix
index 3d29db1..7518c33 100644
--- a/modules/home-manager/personal/environment.nix
+++ b/modules/home-manager/personal/environment.nix
@@ -2,11 +2,10 @@
{
home.packages = with pkgs; [ coreutils moreutils ];
- personal.home.wallpaper = lib.mkDefault config.personal.home.dotfiles.wallpaper;
+ personal.home.wallpaper =
+ lib.mkDefault pkgs.personal.static.wallpapers.nga-1973-68-1;
- programs.bash = {
- enable = lib.mkDefault true;
- };
+ programs.bash = { enable = lib.mkDefault true; };
home = {
shellAliases = {
diff --git a/modules/home-manager/personal/gui/x/i3/startup.nix b/modules/home-manager/personal/gui/x/i3/startup.nix
index 9baf388..b40247b 100644
--- a/modules/home-manager/personal/gui/x/i3/startup.nix
+++ b/modules/home-manager/personal/gui/x/i3/startup.nix
@@ -15,9 +15,6 @@
# ++ autostartIf config.services.redshift.enable {
# command = "systemctl --user start redshift";
# }
- ++ autostartIf (config.personal.home.wallpaper != null) {
- command = "${pkgs.feh}/bin/feh --bg-scale ${config.personal.home.wallpaper}";
- }
# ++ autostartIf config.services.xidlehook.enable {
# command = "systemctl --user start xidlehook.service";
# }
diff --git a/modules/home-manager/personal/profiles.nix b/modules/home-manager/personal/profiles.nix
index 25722f5..5aad4a4 100644
--- a/modules/home-manager/personal/profiles.nix
+++ b/modules/home-manager/personal/profiles.nix
@@ -51,7 +51,7 @@ in {
{
name = "Netflix";
genericName = "Streaming service";
- icon = "${pkgs.personal.netflixIcon}";
+ icon = "${pkgs.personal.static.icons.netflix}";
comment = "Unlimited movies, TV shows, and more.";
url = "https://www.netflix.com/fr-en/login";
categories = [ "AudioVideo" "Video" "Player" ];
@@ -59,7 +59,7 @@ in {
{
name = "MUBI";
genericName = "Streaming service";
- icon = "${pkgs.personal.mubiIcon}";
+ icon = "${pkgs.personal.static.icons.mubi}";
comment = "Watch hand-picked cinema.";
url = "https://mubi.com";
categories = [ "AudioVideo" "Video" "Player" ];
@@ -67,7 +67,7 @@ in {
{
name = "Deezer";
genericName = "Streaming service";
- icon = "${pkgs.personal.deezerIcon}";
+ icon = "${pkgs.personal.static.icons.deezer}";
comment = "Listen to music online";
url = "https://deezer.com/login";
categories = [ "AudioVideo" "Audio" "Player" "Music" ];
diff --git a/modules/home-manager/personal/programs/firefox/default.nix b/modules/home-manager/personal/programs/firefox/default.nix
index 1e97c40..f4696b1 100644
--- a/modules/home-manager/personal/programs/firefox/default.nix
+++ b/modules/home-manager/personal/programs/firefox/default.nix
@@ -4,7 +4,7 @@ with lib;
let
cfg = config.personal.firefox;
userjs = pkgs.callPackage ./userjs.nix {
- inherit (pkgs.personal) arkenfoxUserJS;
+ inherit (pkgs.personal.static.userjs) arkenfox;
inherit (pkgs.lib.personal) toUserJS;
};
engines = import ./engines.nix;
@@ -23,7 +23,7 @@ let
visibility: collapse;
}
'';
- extensions = with pkgs.personal; [
+ extensions = with pkgs.personal.firefoxAddons; [
canvasblocker
clearurls
darkreader
diff --git a/modules/home-manager/personal/programs/firefox/userjs.nix b/modules/home-manager/personal/programs/firefox/userjs.nix
index ee105b3..75780ee 100644
--- a/modules/home-manager/personal/programs/firefox/userjs.nix
+++ b/modules/home-manager/personal/programs/firefox/userjs.nix
@@ -1,66 +1,68 @@
-{ arkenfoxUserJS, toUserJS }:
+{ arkenfox, toUserJS }:
-rec {
- arkenfox = builtins.readFile "${arkenfoxUserJS}";
- default = arkenfox + toUserJS {
- "keyword.enabled" = true; # 0801
- "signon.rememberSignons" = false; # 0901
- "security.nocertdb" = true; # 1222
- "media.peerconnection.enabled" = false; # 2001
- "media.peerconnection.ice.no_host" = true; # 2004
- "dom.allow_cut_copy" = true; # 2404
- "dom.battery.enabled" = false; # 2502
- "permissions.default.xr" = 2; # 2521
- "privacy.clearOnShutdown.siteSettings" = true; # 2811
+let
+ self = {
+ arkenfox = builtins.readFile "${arkenfox}";
+ default = self.arkenfox + toUserJS {
+ "keyword.enabled" = true; # 0801
+ "signon.rememberSignons" = false; # 0901
+ "security.nocertdb" = true; # 1222
+ "media.peerconnection.enabled" = false; # 2001
+ "media.peerconnection.ice.no_host" = true; # 2004
+ "dom.allow_cut_copy" = true; # 2404
+ "dom.battery.enabled" = false; # 2502
+ "permissions.default.xr" = 2; # 2521
+ "privacy.clearOnShutdown.siteSettings" = true; # 2811
- # Personal
- ## Warnings
- "browser.tabs.warnOnClose" = false;
- "browser.tabs.warnOnCloseOtherTabs" = false;
- ## Updates
- "app.update.auto" = false;
- "browser.search.update" = false;
- ## Appearance
- "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
- ## Content behavior
- "clipboard.autocopy" = false;
- ## UX behavior
- "browser.quitShortcut.disabled" = true;
- "browser.tabs.closeWindowWithLastTab" = false;
- ## UX features
- "extensions.pocket.enabled" = false;
- "identity.fxaccounts.enabled" = false;
- };
+ # Personal
+ ## Warnings
+ "browser.tabs.warnOnClose" = false;
+ "browser.tabs.warnOnCloseOtherTabs" = false;
+ ## Updates
+ "app.update.auto" = false;
+ "browser.search.update" = false;
+ ## Appearance
+ "toolkit.legacyUserProfileCustomizations.stylesheets" = true;
+ ## Content behavior
+ "clipboard.autocopy" = false;
+ ## UX behavior
+ "browser.quitShortcut.disabled" = true;
+ "browser.tabs.closeWindowWithLastTab" = false;
+ ## UX features
+ "extensions.pocket.enabled" = false;
+ "identity.fxaccounts.enabled" = false;
+ };
- streaming = default + toUserJS {
- # Widevine (DRMs)
- "media.gmp-widevinecdm.enabled" = true;
- "media.eme.enabled" = true;
- # Cache
- "browser.cache.disk.enable" = true;
- "browser.cache.offline.storage" = true;
- # Privacy
- "privacy.clearOnShutdown.cache" = false;
- "privacy.clearOnShutdown.cookies" = false;
- "privacy.clearOnShutdown.siteSettings" = false;
- "privacy.clearOnShutdown.offlineApps" = false;
- "privacy.resistFingerprinting" = false; # Netflix is whining
- };
+ streaming = self.default + toUserJS {
+ # Widevine (DRMs)
+ "media.gmp-widevinecdm.enabled" = true;
+ "media.eme.enabled" = true;
+ # Cache
+ "browser.cache.disk.enable" = true;
+ "browser.cache.offline.storage" = true;
+ # Privacy
+ "privacy.clearOnShutdown.cache" = false;
+ "privacy.clearOnShutdown.cookies" = false;
+ "privacy.clearOnShutdown.siteSettings" = false;
+ "privacy.clearOnShutdown.offlineApps" = false;
+ "privacy.resistFingerprinting" = false; # Netflix is whining
+ };
- videoconferencing = default + toUserJS {
- # IMPORTANT: uncheck "Prevent WebRTC from leaking local IP addresses" in uBlock Origin's settings
- # NOTE: if using RFP (4501)
- # some sites, e.g. Zoom, need a canvas site exception [Right Click>View Page Info>Permissions]
- # Discord video does not work: it thinks you are FF78: use a separate profile or spoof the user agent
- "media.peerconnection.enabled" = true;
- "media.peerconnection.ice.no_host" = false; # may or may not be required
- "webgl.disabled" = false; # required for Zoom
- "webgl.min_capability_mode" = false;
- "media.getusermedia.screensharing.enabled" = true; # optional
- "media.autoplay.blocking_policy" =
- 0; # optional (otherwise add site exceptions)
- "javascript.options.wasm" =
- true; # optional (some platforms may require this)
- "dom.webaudio.enabled" = true;
+ videoconferencing = self.default + toUserJS {
+ # IMPORTANT: uncheck "Prevent WebRTC from leaking local IP addresses" in uBlock Origin's settings
+ # NOTE: if using RFP (4501)
+ # some sites, e.g. Zoom, need a canvas site exception [Right Click>View Page Info>Permissions]
+ # Discord video does not work: it thinks you are FF78: use a separate profile or spoof the user agent
+ "media.peerconnection.enabled" = true;
+ "media.peerconnection.ice.no_host" = false; # may or may not be required
+ "webgl.disabled" = false; # required for Zoom
+ "webgl.min_capability_mode" = false;
+ "media.getusermedia.screensharing.enabled" = true; # optional
+ "media.autoplay.blocking_policy" =
+ 0; # optional (otherwise add site exceptions)
+ "javascript.options.wasm" =
+ true; # optional (some platforms may require this)
+ "dom.webaudio.enabled" = true;
+ };
};
-}
+in self
diff --git a/modules/home-manager/personal/programs/git.nix b/modules/home-manager/personal/programs/git.nix
index 5d272dc..578f6a7 100644
--- a/modules/home-manager/personal/programs/git.nix
+++ b/modules/home-manager/personal/programs/git.nix
@@ -6,7 +6,7 @@
userEmail = lib.mkDefault "quentin@aristote.fr";
ignores = builtins.map builtins.readFile
- (with pkgs.personal; [ emacsGitignore linuxGitignore direnvGitignore ])
+ (with pkgs.personal.static.gitignore; [ direnv emacs linux ])
++ [
# Personal rules
''
diff --git a/modules/home-manager/personal/programs/thunderbird.nix b/modules/home-manager/personal/programs/thunderbird.nix
index c3450af..e971e5a 100644
--- a/modules/home-manager/personal/programs/thunderbird.nix
+++ b/modules/home-manager/personal/programs/thunderbird.nix
@@ -1,7 +1,7 @@
{ config, lib, pkgs, ... }:
let
- configDefault = builtins.readFile "${pkgs.personal.thunderbirdUserJS}"
+ configDefault = builtins.readFile "${pkgs.personal.static.userjs.thunderbird}"
+ pkgs.lib.personal.toUserJS {
# 0391
"mail.bii.alert.show_preview" = false;
diff --git a/pkgs/default.nix b/pkgs/default.nix
index aec97a3..176d627 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -1,37 +1,35 @@
-pkgs:
+super:
let
- mozillaAddons = pkgs.callPackage ./mozilla/addons {
- inherit (pkgs.nur.repos.rycee.firefox-addons) buildFirefoxXpiAddon;
- };
- gitignores = pkgs.callPackage ./gitignore { };
- icons = pkgs.callPackage ./icons { };
- personal =
- # lib
- {
- lib = import ./lib { inherit (pkgs) lib; };
- } //
- # css
- {
- line-awesome-css = pkgs.callPackage ./css/lineAwesome { };
- } //
- # mozilla packages
- mozillaAddons // {
- arkenfoxUserJS = pkgs.callPackage ./mozilla/user-js/arkenfox.nix { };
- thunderbirdUserJS =
- pkgs.callPackage ./mozilla/user-js/thunderbird.nix { };
- } //
- # font metadata
- {
- fontawesomeMetadata = pkgs.callPackage ./fontMetadata/fontawesome.nix { };
+ self = {
+ barista = super.callPackage ./barista {
+ fontawesomeMetadata = self.static.fontMetadata.fontawesome;
materialDesignIconsMetadata =
- pkgs.callPackage ./fontMetadata/materialDesignIcons.nix { };
- } //
- # miscellaneous
- {
- barista = pkgs.callPackage ./barista {
- inherit (personal) fontawesomeMetadata materialDesignIconsMetadata;
+ self.static.fontMetadata.materialDesignIcons;
+ };
+
+ lib = import ./lib { inherit (super) lib; };
+
+ lockscreen = super.callPackage ./lockscreen { };
+
+ firefoxAddons = super.callPackage ./firefoxAddons {
+ inherit (super.nur.repos.rycee.firefox-addons) buildFirefoxXpiAddon;
+ };
+
+ static = {
+ css = { lineAwesome = super.callPackage ./static/css/lineAwesome { }; };
+ fontMetadata = {
+ fontawesome = super.callPackage ./static/fontMetadata/fontawesome { };
+ materialDesignIcons =
+ super.callPackage ./static/fontMetadata/materialDesignIcons { };
+ };
+ gitignore = super.callPackage ./static/gitignore { };
+ icons = super.callPackage ./static/icons { };
+ userjs = {
+ arkenfox = super.callPackage ./static/userjs/arkenfox { };
+ thunderbird = super.callPackage ./static/userjs/thunderbird { };
};
- lockscreen = pkgs.callPackage ./lockscreen { };
- } // gitignores // icons;
-in personal
+ wallpapers = super.callPackage ./static/wallpapers { };
+ };
+ };
+in self
diff --git a/pkgs/mozilla/addons/addons.json b/pkgs/firefoxAddons/addons.json
index d39900d..d39900d 100644
--- a/pkgs/mozilla/addons/addons.json
+++ b/pkgs/firefoxAddons/addons.json
diff --git a/pkgs/mozilla/addons/default.nix b/pkgs/firefoxAddons/default.nix
index f87acb5..f87acb5 100644
--- a/pkgs/mozilla/addons/default.nix
+++ b/pkgs/firefoxAddons/default.nix
diff --git a/pkgs/gitignore/default.nix b/pkgs/gitignore/default.nix
deleted file mode 100644
index fbf2d2e..0000000
--- a/pkgs/gitignore/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ fetchurl }:
-
-let
- fetch-gitignore = module: sha256:
- let url = "https://www.toptal.com/developers/gitignore/api/" + module;
- name = module + ".gitignore";
- in fetchurl { inherit url sha256 name; };
-in {
- emacsGitignore = fetch-gitignore "emacs"
- "sha256:34LaJsGa5fFSMjE7l8JgQAmH8f07jcQmsaOdPVctHMk=";
- linuxGitignore = fetch-gitignore "linux"
- "sha256:Az39kpxJ1pG0T+3KUwx217+f+L8FQEWzwvRFSty8cJU=";
- direnvGitignore = fetch-gitignore "direnv"
- "sha256:CK47JLrsjf9yyjGAUfhjxLns0r1jDYgSBsp6LN0Yut8=";
- fetcherGitignore = fetch-gitignore;
-}
diff --git a/pkgs/css/lineAwesome/default.nix b/pkgs/static/css/lineAwesome/default.nix
index 15946e6..b1376fe 100644
--- a/pkgs/css/lineAwesome/default.nix
+++ b/pkgs/static/css/lineAwesome/default.nix
@@ -12,8 +12,8 @@ stdenv.mkDerivation rec {
phases = [ "installPhase" ];
installPhase = ''
- cp $src $out
- substituteInPlace $out --replace '../fonts' '${fontsRelativeDirectory}' \
- --replace 'font-display: auto' 'font-display: ${fontDisplay}'
+ cp "$src" "$out"
+ substituteInPlace "$out" --replace '../fonts' '${fontsRelativeDirectory}' \
+ --replace 'font-display: auto' 'font-display: ${fontDisplay}'
'';
}
diff --git a/pkgs/fontMetadata/fontawesome.nix b/pkgs/static/fontMetadata/fontawesome/default.nix
index a54537e..a54537e 100644
--- a/pkgs/fontMetadata/fontawesome.nix
+++ b/pkgs/static/fontMetadata/fontawesome/default.nix
diff --git a/pkgs/fontMetadata/materialDesignIcons.nix b/pkgs/static/fontMetadata/materialDesignIcons/default.nix
index fb24f3c..fb24f3c 100644
--- a/pkgs/fontMetadata/materialDesignIcons.nix
+++ b/pkgs/static/fontMetadata/materialDesignIcons/default.nix
diff --git a/pkgs/static/gitignore/default.nix b/pkgs/static/gitignore/default.nix
new file mode 100644
index 0000000..ac825a5
--- /dev/null
+++ b/pkgs/static/gitignore/default.nix
@@ -0,0 +1,12 @@
+{ fetchurl, lib }:
+
+let
+ fetchGitignore = module: sha256:
+ let
+ url = "https://www.toptal.com/developers/gitignore/api/" + module;
+ name = module + ".gitignore";
+ in fetchurl { inherit url sha256 name; };
+ sources = lib.importJSON ./sources.json;
+in {
+ fetcher = fetchGitignore;
+} // builtins.mapAttrs fetchGitignore sources
diff --git a/pkgs/static/gitignore/sources.json b/pkgs/static/gitignore/sources.json
new file mode 100644
index 0000000..a46ff9e
--- /dev/null
+++ b/pkgs/static/gitignore/sources.json
@@ -0,0 +1,6 @@
+{
+ "direnv": "CK47JLrsjf9yyjGAUfhjxLns0r1jDYgSBsp6LN0Yut8=",
+ "emacs" : "34LaJsGa5fFSMjE7l8JgQAmH8f07jcQmsaOdPVctHMk=",
+ "latex" : "yumKOkYA44Mnfm7giSDWKFEGSmP8/1xVbcSQCfc5uBA=",
+ "linux" : "Az39kpxJ1pG0T+3KUwx217+f+L8FQEWzwvRFSty8cJU="
+}
diff --git a/pkgs/icons/default.nix b/pkgs/static/icons/default.nix
index 3f1f3bf..a98aee9 100644
--- a/pkgs/icons/default.nix
+++ b/pkgs/static/icons/default.nix
@@ -1,14 +1,14 @@
{ fetchurl }:
{
- netflixIcon = fetchurl {
+ netflix = fetchurl {
url = "https://www.vectorlogo.zone/logos/netflix/netflix-icon.svg";
sha256 = "0b4gqhw9y62fm72x61q03yzbllgfxpkjbbsdvj7d5wg3jshjkgdb";
};
- mubiIcon = fetchurl {
+ mubi = fetchurl {
url = "https://mubi.com/logo";
sha256 = "1h6qi579dcmd7l9mmwq2c4y67lbpkfjwq19kivfnfxwr38f769h4";
};
- deezerIcon = fetchurl {
+ deezer = fetchurl {
url = "https://raw.githubusercontent.com/edent/SuperTinyIcons/master/images/svg/deezer.svg";
sha256 = "1qcj1gqz8gc9cwlj4cl6yj5ik1vz4ya6qcncr5fbciprzaaf3pg9";
};
diff --git a/pkgs/icons/generate-package.sh b/pkgs/static/icons/generate.sh
index bf34c84..b5df4ab 100755
--- a/pkgs/icons/generate-package.sh
+++ b/pkgs/static/icons/generate.sh
@@ -1,4 +1,4 @@
-icons=$(cat icons.txt)
+icons=$(cat urls.txt)
echo '{ fetchurl }:' | tee default.nix
echo '{' | tee -a default.nix
@@ -6,6 +6,7 @@ while read -r line; do
name=$(echo $line | cut -f1 -d' ')
url=$(echo $line | cut -f2 -d' ')
sha256=$(nix-prefetch-url $url 2>/dev/null)
- echo -e "\t${name}Icon = fetchurl {\n\t\turl = \"$url\";\n\t\tsha256 = \"$sha256\";\n\t};" | tee -a default.nix
+ echo -e "\t${name} = fetchurl {\n\t\turl = \"$url\";\n\t\tsha256 = \"$sha256\";\n\t};" | tee -a default.nix
done <<< $icons
echo '}' | tee -a default.nix
+
diff --git a/pkgs/icons/icons.txt b/pkgs/static/icons/urls.txt
index 388daa2..388daa2 100644
--- a/pkgs/icons/icons.txt
+++ b/pkgs/static/icons/urls.txt
diff --git a/pkgs/mozilla/user-js/arkenfox.nix b/pkgs/static/userjs/arkenfox/default.nix
index c464f34..c464f34 100644
--- a/pkgs/mozilla/user-js/arkenfox.nix
+++ b/pkgs/static/userjs/arkenfox/default.nix
diff --git a/pkgs/mozilla/user-js/thunderbird.nix b/pkgs/static/userjs/thunderbird/default.nix
index 8899d38..8899d38 100644
--- a/pkgs/mozilla/user-js/thunderbird.nix
+++ b/pkgs/static/userjs/thunderbird/default.nix
diff --git a/pkgs/static/wallpapers/default.nix b/pkgs/static/wallpapers/default.nix
new file mode 100644
index 0000000..4abeb38
--- /dev/null
+++ b/pkgs/static/wallpapers/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, imagemagick, lib }:
+
+let
+ fetchWallpaper =
+ { name, url, sha256, resolution ? "1920x1080", offset ? "0x0" }:
+ stdenv.mkDerivation {
+ inherit name;
+ src = fetchurl {
+ inherit url sha256;
+ };
+ buildInputs = [ imagemagick ];
+ phases = [ "unpackPhase" ];
+ unpackPhase = ''
+ convert "$src" -resize "${resolution}^" \
+ -crop "${resolution}+${offset}" \
+ "$out"
+ '';
+ };
+ sources = lib.importJSON ./sources.json;
+in {
+ fetcher = fetchWallpaper;
+} // builtins.mapAttrs (_: fetchWallpaper) sources
diff --git a/pkgs/static/wallpapers/sources.json b/pkgs/static/wallpapers/sources.json
new file mode 100644
index 0000000..a3c104a
--- /dev/null
+++ b/pkgs/static/wallpapers/sources.json
@@ -0,0 +1,12 @@
+{
+ "artic-1942-51": {
+ "name": "Nighthawks_by_Edward_Hopper_1942.jpg",
+ "url": "https://upload.wikimedia.org/wikipedia/commons/a/a8/Nighthawks_by_Edward_Hopper_1942.jpg",
+ "sha256": "Rzp2AoAvjoB5t2elzSv+Eg6978tzviPyCbxLq2oIU6E="
+ },
+ "nga-1973-68-1": {
+ "name": "La_vallée_de_Riaux_près_de_l'Estaque,_par_Paul_Cézanne,_NGA.jpg",
+ "url": "https://upload.wikimedia.org/wikipedia/commons/8/89/La_vall%C3%A9e_de_Riaux_pr%C3%A8s_de_l%27Estaque%2C_par_Paul_C%C3%A9zanne%2C_NGA.jpg",
+ "sha256": "F3FPz0dmyxMk9BzV9DabGkECLbYBAIH96a5KOivvrak="
+ }
+}