Compare commits
3 commits
Author | SHA1 | Date | |
---|---|---|---|
b576c8e273 | |||
a08b1e5238 | |||
9c3cdb5691 |
15 changed files with 400 additions and 238 deletions
109
flake.lock
109
flake.lock
|
@ -58,11 +58,11 @@
|
||||||
"stable": "stable"
|
"stable": "stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731249827,
|
"lastModified": 1731527002,
|
||||||
"narHash": "sha256-04iOZoJ0D+y3xhZtaCgSBOz8T4hED7oMVkuAOzXT8vU=",
|
"narHash": "sha256-dI9I6suECoIAmbS4xcrqF8r2pbmed8WWm5LIF1yWPw8=",
|
||||||
"owner": "zhaofengli",
|
"owner": "zhaofengli",
|
||||||
"repo": "colmena",
|
"repo": "colmena",
|
||||||
"rev": "a2193487bcf70bbb998ad1a25a4ff02b8d55db7a",
|
"rev": "e3ad42138015fcdf2524518dd564a13145c72ea1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -101,6 +101,24 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"firefox": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731773001,
|
||||||
|
"narHash": "sha256-/3tpXzkJqSmJObEilZxeL4Mo1GsyNP0q15kIvw6+GEo=",
|
||||||
|
"ref": "refs/heads/main",
|
||||||
|
"rev": "bb30e67d1f3e5947d46c86dda2a567d16e9d3f52",
|
||||||
|
"revCount": 3,
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://woof.rip/mikael/firefox.git"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://woof.rip/mikael/firefox.git"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -287,11 +305,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731235328,
|
"lastModified": 1731604581,
|
||||||
"narHash": "sha256-NjavpgE9/bMe/ABvZpyHIUeYF1mqR5lhaep3wB79ucs=",
|
"narHash": "sha256-Qq2YZZaDTB3FZLWU/Hgh1uuWlUBl3cMLGB99bm7rFUM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "60bb110917844d354f3c18e05450606a435d2d10",
|
"rev": "1d0862ee2d7c6f6cd720d6f32213fa425004be10",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -329,14 +347,14 @@
|
||||||
},
|
},
|
||||||
"linux-hardened": {
|
"linux-hardened": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs_2"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731517078,
|
"lastModified": 1731676971,
|
||||||
"narHash": "sha256-stbSazpb7K7EOtpkYBnXEMWSJFwkQhcsgTdBA4J4Xbs=",
|
"narHash": "sha256-y+WFpBqDlcQN33mDIupZP75AgtgQGrcaAz4zIRsuH6U=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "f5fdee0638f03336c3fe32ddcb692ba1dbe601fa",
|
"rev": "ebcc2dd38146a4c15c6f69d95c3873b429589422",
|
||||||
"revCount": 14,
|
"revCount": 17,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://woof.rip/mikael/linux-hardened.git"
|
"url": "https://woof.rip/mikael/linux-hardened.git"
|
||||||
},
|
},
|
||||||
|
@ -348,11 +366,11 @@
|
||||||
"lix": {
|
"lix": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731334117,
|
"lastModified": 1731416517,
|
||||||
"narHash": "sha256-GoddkPg0/UDv06KcQJiOYP/2IzruYorbI03QRCjN3K8=",
|
"narHash": "sha256-1LGkwq9g/BfM0JuZmWPYwBX5RiqIpW/BxXcsLwkVcGg=",
|
||||||
"rev": "8a9094303bc7873c979e54ea20b9f50464ee3965",
|
"rev": "43777939eb2253596ff822771929a8820916fb29",
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/8a9094303bc7873c979e54ea20b9f50464ee3965.tar.gz?rev=8a9094303bc7873c979e54ea20b9f50464ee3965"
|
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/43777939eb2253596ff822771929a8820916fb29.tar.gz?rev=43777939eb2253596ff822771929a8820916fb29"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"type": "tarball",
|
"type": "tarball",
|
||||||
|
@ -394,11 +412,11 @@
|
||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731493674,
|
"lastModified": 1731577605,
|
||||||
"narHash": "sha256-J01wasU1Bkyh5u7gD5Uo+H3EK56NY5PxNsXsbgYBpM0=",
|
"narHash": "sha256-gT7+CbsPtNQXHL32Z4fUZinlVWZSgW87qFty9HMsFN4=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "91097eb0301feecf3079af35dee05653129f98b7",
|
"rev": "9bd436676472da23fefe06fb07fbb8ff7574a8f3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -427,11 +445,11 @@
|
||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731437040,
|
"lastModified": 1731575130,
|
||||||
"narHash": "sha256-9CnE02lvO5p5JryrxEgin1mZhv6LbnJSg6Or7dNezRI=",
|
"narHash": "sha256-V+bIsYXshtdMv7Ycw1Y/xVfKdWVywXuqHHII7FgV6dg=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "0e5e764c78421dc61c82ca6df630f33e8221005a",
|
"rev": "1a0612cbfd0abee0796efa86470226686ae78f21",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -498,11 +516,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731245184,
|
"lastModified": 1731531548,
|
||||||
"narHash": "sha256-vmLS8+x+gHRv1yzj3n+GTAEObwmhxmkkukB2DwtJRdU=",
|
"narHash": "sha256-sz8/v17enkYmfpgeeuyzniGJU0QQBfmAjlemAUYhfy8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "aebe249544837ce42588aa4b2e7972222ba12e8f",
|
"rev": "24f0d4acd634792badd6470134c387a3b039dace",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -530,11 +548,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable_2": {
|
"nixpkgs-stable_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731239293,
|
"lastModified": 1731386116,
|
||||||
"narHash": "sha256-q2yjIWFFcTzp5REWQUOU9L6kHdCDmFDpqeix86SOvDc=",
|
"narHash": "sha256-lKA770aUmjPHdTaJWnP3yQ9OI1TigenUqVC3wweqZuI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9256f7c71a195ebe7a218043d9f93390d49e6884",
|
"rev": "689fed12a013f56d4c4d3f612489634267d86529",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -562,11 +580,27 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731245184,
|
"lastModified": 1731531548,
|
||||||
"narHash": "sha256-vmLS8+x+gHRv1yzj3n+GTAEObwmhxmkkukB2DwtJRdU=",
|
"narHash": "sha256-sz8/v17enkYmfpgeeuyzniGJU0QQBfmAjlemAUYhfy8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "aebe249544837ce42588aa4b2e7972222ba12e8f",
|
"rev": "24f0d4acd634792badd6470134c387a3b039dace",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731531548,
|
||||||
|
"narHash": "sha256-sz8/v17enkYmfpgeeuyzniGJU0QQBfmAjlemAUYhfy8=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "24f0d4acd634792badd6470134c387a3b039dace",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -578,11 +612,11 @@
|
||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731515340,
|
"lastModified": 1731667778,
|
||||||
"narHash": "sha256-GE/kuwXQhmUynUPdRbWp3ccuqfFshF6oLMg7TGXgl+8=",
|
"narHash": "sha256-YGoAGx65+ZB/v/PlBDLF6lefXH2hsirQ/TqXnV/yBIU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "4ae1080fdf68e0c54c05860030861a852439223a",
|
"rev": "40254693c3500191c5a375cb4a42d3f0128f8a09",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -674,6 +708,7 @@
|
||||||
"catppuccin": "catppuccin",
|
"catppuccin": "catppuccin",
|
||||||
"catppuccin-palette": "catppuccin-palette",
|
"catppuccin-palette": "catppuccin-palette",
|
||||||
"colmena": "colmena",
|
"colmena": "colmena",
|
||||||
|
"firefox": "firefox",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"linux-hardened": "linux-hardened",
|
"linux-hardened": "linux-hardened",
|
||||||
|
@ -682,7 +717,7 @@
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nur": "nur",
|
"nur": "nur",
|
||||||
"ripgrep-all": "ripgrep-all",
|
"ripgrep-all": "ripgrep-all",
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
|
@ -695,11 +730,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1731464916,
|
"lastModified": 1731637922,
|
||||||
"narHash": "sha256-WZ5rpjr/wCt7yBOUsvDE2i22hYz9g8W921jlwVktRQ4=",
|
"narHash": "sha256-6iuzRINXyPX4DfUQZIGafpJnzjFXjVRYMymB10/jFFY=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "2c19bad6e881b5a154cafb7f9106879b5b356d1f",
|
"rev": "db10c66da18e816030b884388545add8cf096647",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
33
flake.nix
33
flake.nix
|
@ -40,6 +40,7 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
linux-hardened.url = "git+https://woof.rip/mikael/linux-hardened.git";
|
linux-hardened.url = "git+https://woof.rip/mikael/linux-hardened.git";
|
||||||
|
firefox.url = "git+https://woof.rip/mikael/firefox.git";
|
||||||
|
|
||||||
nix-index-database = {
|
nix-index-database = {
|
||||||
url = "github:illdefined/nix-index-database";
|
url = "github:illdefined/nix-index-database";
|
||||||
|
@ -101,13 +102,26 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
overlays = load ./overlay "overlay";
|
overlays = load ./overlay "overlay";
|
||||||
legacyPackages = eachSystem (system: platform:
|
legacyPackages = eachSystem (system: platform: let
|
||||||
import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
localSystem = builtins.currentSystem or platform;
|
localSystem = {
|
||||||
|
inherit (platform) config;
|
||||||
|
};
|
||||||
|
|
||||||
crossSystem = platform;
|
crossSystem = platform;
|
||||||
overlays = [ self.overlays.default ];
|
overlays = [ self.overlays.default ];
|
||||||
config.allowUnsupportedSystem = true;
|
config = {
|
||||||
});
|
allowBroken = true;
|
||||||
|
allowUnsupportedSystem = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in pkgs // {
|
||||||
|
config = pkgs.config // {
|
||||||
|
replaceStdenv = { pkgs }: self.lib.stdenv pkgs pkgs.stdenv;
|
||||||
|
/*replaceCrossStdenv = { buildPackages, baseStdenv }:
|
||||||
|
self.lib.stdenv self.legacyPackages.${system} baseStdenv;*/
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
packages = eachSystem (system: platform:
|
packages = eachSystem (system: platform:
|
||||||
let pkgs = self.legacyPackages.${system};
|
let pkgs = self.legacyPackages.${system};
|
||||||
|
@ -128,6 +142,15 @@
|
||||||
targetHost = config.networking.fqdnOrHostName;
|
targetHost = config.networking.fqdnOrHostName;
|
||||||
targetUser = null;
|
targetUser = null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nixpkgs = let
|
||||||
|
platform = self.lib.platforms.x86_64-linux;
|
||||||
|
in {
|
||||||
|
buildPlatform = {
|
||||||
|
inherit (platform) config;
|
||||||
|
};
|
||||||
|
hostPlatform = platform;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ ... }: { config, lib, pkgs, ... }@args:
|
{ firefox, ... }: { config, lib, pkgs, ... }@args:
|
||||||
let
|
let
|
||||||
osConfig = args.osConfig or { };
|
osConfig = args.osConfig or { };
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ let
|
||||||
in lib.mkIf (osConfig.hardware.graphics.enable or false) {
|
in lib.mkIf (osConfig.hardware.graphics.enable or false) {
|
||||||
programs.firefox = {
|
programs.firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.firefox;
|
package = firefox.packages.${pkgs.system}.firefox;
|
||||||
profiles = let
|
profiles = let
|
||||||
extensions = with config.nur.repos.rycee.firefox-addons; [
|
extensions = with config.nur.repos.rycee.firefox-addons; [
|
||||||
clearurls
|
clearurls
|
||||||
|
@ -30,16 +30,6 @@ in lib.mkIf (osConfig.hardware.graphics.enable or false) {
|
||||||
"intl.accept_languages" = "en-gb,en,de,fr,es-es,es,pt,ja";
|
"intl.accept_languages" = "en-gb,en,de,fr,es-es,es,pt,ja";
|
||||||
"intl.locale.requested" = "en-GB,en,de,fr,es-ES,es,pt,ja";
|
"intl.locale.requested" = "en-GB,en,de,fr,es-ES,es,pt,ja";
|
||||||
|
|
||||||
# use OS resolver
|
|
||||||
"network.trr.mode" = 5;
|
|
||||||
|
|
||||||
# force HTTPS
|
|
||||||
"dom.security.https_only_mode" = true;
|
|
||||||
"dom.security.https_only_mode_ever_enabled" = true;
|
|
||||||
|
|
||||||
# enable EME
|
|
||||||
"media.eme.enabled" = true;
|
|
||||||
|
|
||||||
# founts
|
# founts
|
||||||
"font.default.x-unicode" = "sans-serif";
|
"font.default.x-unicode" = "sans-serif";
|
||||||
"font.default.x-western" = "sans-serif";
|
"font.default.x-western" = "sans-serif";
|
||||||
|
@ -49,87 +39,7 @@ in lib.mkIf (osConfig.hardware.graphics.enable or false) {
|
||||||
"font.name.monospace.x-western" = "Fira Code";
|
"font.name.monospace.x-western" = "Fira Code";
|
||||||
|
|
||||||
# hardware acceleration
|
# hardware acceleration
|
||||||
"gfx.webrender.all" = true;
|
|
||||||
"layers.acceleration.force-enabled" = true;
|
"layers.acceleration.force-enabled" = true;
|
||||||
"media.ffmpeg.vaapi.enabled" = true;
|
|
||||||
|
|
||||||
# always ask for download location
|
|
||||||
"browser.download.useDownloadDir" = false;
|
|
||||||
|
|
||||||
# disable firefox tab
|
|
||||||
"browser.tabs.firefox-view" = false;
|
|
||||||
|
|
||||||
# disable firefox intro tab
|
|
||||||
"browser.startup.homepage_override.mstone" = "ignore";
|
|
||||||
|
|
||||||
# disable default browser check
|
|
||||||
"browser.shell.checkDefaultBrowser" = false;
|
|
||||||
|
|
||||||
# private containor for new tab page thumbnails
|
|
||||||
"privacy.usercontext.about_newtab_segregation.enabled" = true;
|
|
||||||
|
|
||||||
# disable Beacons API
|
|
||||||
"beacon.enabled" = false;
|
|
||||||
|
|
||||||
# disable pings
|
|
||||||
"browser.send_pings" = false;
|
|
||||||
|
|
||||||
# strip query parameters
|
|
||||||
"privacy.query_stripping" = true;
|
|
||||||
|
|
||||||
# disable access to device sensors
|
|
||||||
"device.sensors.enabled" = false;
|
|
||||||
"dom.battery.enabled" = false;
|
|
||||||
|
|
||||||
# disable media auto‐play
|
|
||||||
"media.autoplay.enabled" = false;
|
|
||||||
|
|
||||||
# block third‐party cookies
|
|
||||||
"network.cookie.cookieBehavior" = 1;
|
|
||||||
|
|
||||||
# spoof referrer header
|
|
||||||
"network.http.referer.spoofSource" = true;
|
|
||||||
|
|
||||||
# isolate all browser identifier sources
|
|
||||||
"privacy.firstparty.isolate" = true;
|
|
||||||
|
|
||||||
# resist fingerprinting
|
|
||||||
#"privacy.resistFingerprinting" = true;
|
|
||||||
|
|
||||||
# enable built‐in tracking protection
|
|
||||||
"privacy.trackingprotection.enabled" = true;
|
|
||||||
"privacy.trackingprotection.emailtracking.enabled" = true;
|
|
||||||
"privacy.trackingprotection.socialtracking.enabled" = true;
|
|
||||||
|
|
||||||
# disable data sharing
|
|
||||||
"app.normandy.enabled" = false;
|
|
||||||
"app.shield.optoutstudies.enabled" = false;
|
|
||||||
"datareporting.healthreport.uploadEnabled" = false;
|
|
||||||
|
|
||||||
# disable safebrowsing
|
|
||||||
"browser.safebrowsing.downloads.enabled" = false;
|
|
||||||
"browser.safebrowsing.malware.enabled" = false;
|
|
||||||
"browser.safebrowsing.phishing.enabled" = false;
|
|
||||||
|
|
||||||
# disable firefox account
|
|
||||||
"identity.fxaccounts.enabled" = false;
|
|
||||||
|
|
||||||
# disable sponsored items
|
|
||||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
|
||||||
"browser.newtabpage.enhanced" = false;
|
|
||||||
|
|
||||||
# disable Pocket
|
|
||||||
"extensions.pocket.enabled" = false;
|
|
||||||
|
|
||||||
# disable crash reporting
|
|
||||||
"browser.tabs.crashReporting.sendReport" = false;
|
|
||||||
"breakpad.reportURL" = "";
|
|
||||||
|
|
||||||
# disable accessibility services
|
|
||||||
"accessibility.force_disabled" = true;
|
|
||||||
|
|
||||||
# disable password auto‐fill
|
|
||||||
"signon.autofillForms" = false;
|
|
||||||
|
|
||||||
# enable user profile customisation
|
# enable user profile customisation
|
||||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||||
|
|
|
@ -11,7 +11,6 @@ in {
|
||||||
imports = [
|
imports = [
|
||||||
nur.hmModules.nur
|
nur.hmModules.nur
|
||||||
self.homeModules.greedy
|
self.homeModules.greedy
|
||||||
self.homeModules.locale-en_EU
|
|
||||||
catppuccin.homeManagerModules.catppuccin
|
catppuccin.homeManagerModules.catppuccin
|
||||||
niri.homeModules.config
|
niri.homeModules.config
|
||||||
] ++ self.lib.mods [
|
] ++ self.lib.mods [
|
||||||
|
@ -212,7 +211,7 @@ in {
|
||||||
enable = true;
|
enable = true;
|
||||||
envFile.text = let
|
envFile.text = let
|
||||||
ls-colours = pkgs.runCommand "ls-colours" { } ''
|
ls-colours = pkgs.runCommand "ls-colours" { } ''
|
||||||
${lib.getExe pkgs.vivid} generate catppuccin-mocha >$out
|
${lib.getExe pkgs.buildPackages.vivid} generate catppuccin-mocha >$out
|
||||||
'' |> builtins.readFile;
|
'' |> builtins.readFile;
|
||||||
in ''
|
in ''
|
||||||
load-env {
|
load-env {
|
||||||
|
|
|
@ -33,7 +33,7 @@ in lib.mkIf (osConfig.hardware.graphics.enable or false) {
|
||||||
};
|
};
|
||||||
|
|
||||||
services.mopidy = {
|
services.mopidy = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
extensionPackages = with pkgs; [
|
extensionPackages = with pkgs; [
|
||||||
mopidy-iris
|
mopidy-iris
|
||||||
mopidy-local
|
mopidy-local
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
{ ... }: { config, lib, pkgs, ... }@args:
|
{ firefox, ... }: { config, lib, pkgs, ... }@args:
|
||||||
let
|
let
|
||||||
osConfig = args.osConfig or { };
|
osConfig = args.osConfig or { };
|
||||||
in lib.mkIf (osConfig.hardware.graphics.enable or false) {
|
in lib.mkIf (osConfig.hardware.graphics.enable or false) {
|
||||||
programs.thunderbird = {
|
programs.thunderbird = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.thunderbird;
|
package = firefox.packages.${pkgs.system}.thunderbird;
|
||||||
profiles = { };
|
profiles = { };
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,13 +4,25 @@ let inherit (nixpkgs) lib;
|
||||||
in lib.mapAttrs (system: platform: lib.systems.elaborate platform) {
|
in lib.mapAttrs (system: platform: lib.systems.elaborate platform) {
|
||||||
"x86_64-linux" = {
|
"x86_64-linux" = {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
config = "x86_64-unknown-linux-musl";
|
||||||
|
useLLVM = true;
|
||||||
|
linker = "lld";
|
||||||
|
gcc.arch = "x86-64-v3";
|
||||||
};
|
};
|
||||||
|
|
||||||
"aarch64-linux" = {
|
"aarch64-linux" = {
|
||||||
system = "aarch64-linux";
|
system = "aarch64-linux";
|
||||||
|
config = "aarch64-unknown-linux-musl";
|
||||||
|
useLLVM = true;
|
||||||
|
linker = "lld";
|
||||||
|
gcc.arch = "armv8-a";
|
||||||
};
|
};
|
||||||
|
|
||||||
"riscv64-linux" = {
|
"riscv64-linux" = {
|
||||||
system = "riscv64-linux";
|
system = "riscv64-linux";
|
||||||
|
config = "riscv64-unknown-linux-gnu";
|
||||||
|
useLLVM = true;
|
||||||
|
linker = "lld";
|
||||||
|
gcc.arch = "rv64imacfd";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
56
lib/stdenv.nix
Normal file
56
lib/stdenv.nix
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
{ ... }: pkgs: stdenv:
|
||||||
|
|
||||||
|
let
|
||||||
|
inherit (lib) optionalAttrs optionals toList;
|
||||||
|
inherit (pkgs) lib;
|
||||||
|
inherit (stdenv) targetPlatform;
|
||||||
|
in pkgs.addAttrsToDerivation (prevAttrs: let
|
||||||
|
overrideAlloc = prevAttrs.overrideAlloc or true;
|
||||||
|
|
||||||
|
inputs = optionals overrideAlloc [ pkgs.mimalloc ];
|
||||||
|
|
||||||
|
cflagsE = [ "-flto" ];
|
||||||
|
cflagsC = [ "-pipe" ];
|
||||||
|
cflagsL = [ /*"-fuse-ld=lld"*/ ];
|
||||||
|
|
||||||
|
ldflags = [
|
||||||
|
"-O2"
|
||||||
|
"--hash-style=gnu"
|
||||||
|
/*"--icf=safe"
|
||||||
|
"--lto-O2"*/
|
||||||
|
] ++ optionals overrideAlloc [ "-lmimalloc" ];
|
||||||
|
|
||||||
|
rustflags = [
|
||||||
|
"-C" "opt-level=2"
|
||||||
|
"-C" "linker-flavor=ld.lld"
|
||||||
|
"-C" "lto"
|
||||||
|
"-C" "linker-plugin-lto"
|
||||||
|
] ++ optionals (targetPlatform.isx86_64 && targetPlatform ? gcc.arch) [
|
||||||
|
"-C" "target-cpu=${targetPlatform.gcc.arch}"
|
||||||
|
] ++ (map (flag: [ "-C" "link-arg=${flag}" ]) ldflags |> lib.flatten);
|
||||||
|
|
||||||
|
goflags = [ "-ldflags=-linkmode=external" ];
|
||||||
|
in {
|
||||||
|
buildInputs = prevAttrs.buildInputs or [ ] ++ inputs;
|
||||||
|
|
||||||
|
env = prevAttrs.env or { } // optionalAttrs (!prevAttrs ? CFLAGS) {
|
||||||
|
CFLAGS = toList prevAttrs.CFLAGS or [ ] ++ cflagsE |> toString;
|
||||||
|
} // optionalAttrs (!prevAttrs ? NIX_CFLAGS_COMPILE) {
|
||||||
|
NIX_CFLAGS_COMPILE = toList prevAttrs.env.NIX_CFLAGS_COMPILE or [ ] ++ cflagsC |> toString;
|
||||||
|
} // optionalAttrs (!prevAttrs ? NIX_CFLAGS_LINK) {
|
||||||
|
NIX_CFLAGS_LINK = toList prevAttrs.env.NIX_CFLAGS_LINK or [ ] ++ cflagsL |> toString;
|
||||||
|
} // optionalAttrs (prevAttrs ? env.NIX_LDFLAGS) {
|
||||||
|
NIX_LDFLAGS = toList prevAttrs.NIX_LDFLAGS or [ ] ++ ldflags |> toString;
|
||||||
|
};
|
||||||
|
|
||||||
|
NIX_RUSTFLAGS = prevAttrs.NIX_RUSTFLAGS or [ ] ++ rustflags;
|
||||||
|
GOFLAGS = prevAttrs.GOFLAGS or [ ] ++ goflags;
|
||||||
|
} // optionalAttrs (prevAttrs ? CFLAGS) {
|
||||||
|
CFLAGS = toList prevAttrs.CFLAGS or [ ] ++ cflagsE;
|
||||||
|
} // optionalAttrs (prevAttrs ? NIX_CFLAGS_COMPILE) {
|
||||||
|
NIX_CFLAGS_COMPILE = toList prevAttrs.NIX_CFLAGS_COMPILE or [ ] ++ cflagsC;
|
||||||
|
} // optionalAttrs (prevAttrs ? NIX_CFLAGS_LINK) {
|
||||||
|
NIX_CFLAGS_LINK = toList prevAttrs.NIX_CFLAGS_LINK or [ ] ++ cflagsL;
|
||||||
|
} // optionalAttrs (!prevAttrs ? env.NIX_LDFLAGS) {
|
||||||
|
NIX_LDFLAGS = toList prevAttrs.NIX_LDFLAGS or [ ] ++ ldflags;
|
||||||
|
}) stdenv
|
26
nixos/config/soy.nix
Normal file
26
nixos/config/soy.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ self, nixos-hardware, ... }: { lib, config, pkgs, ... }: {
|
||||||
|
imports = with self.nixosModules; [
|
||||||
|
default
|
||||||
|
mimalloc
|
||||||
|
physical
|
||||||
|
graphical
|
||||||
|
wireless
|
||||||
|
];
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
binfmt = {
|
||||||
|
emulatedSystems = [ "aarch64-linux" "x86_64-linux" ];
|
||||||
|
preferStaticEmulators = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
hostPlatform = {
|
||||||
|
system = "riscv64-linux";
|
||||||
|
config = "riscv64-unknown-linux-musl";
|
||||||
|
gcc.arch = "rv64imafdc";
|
||||||
|
useLLVM = true;
|
||||||
|
linker = "lld";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -10,7 +10,7 @@
|
||||||
ephemeral
|
ephemeral
|
||||||
iosched
|
iosched
|
||||||
kernel
|
kernel
|
||||||
locale-en_EU
|
musl
|
||||||
network
|
network
|
||||||
nix
|
nix
|
||||||
openssh
|
openssh
|
||||||
|
|
24
nixos/module/musl.nix
Normal file
24
nixos/module/musl.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{ ...}: { modulesPath, config, lib, pkgs, ... }: {
|
||||||
|
disabledModules = [
|
||||||
|
(modulesPath + "/config/ldso.nix")
|
||||||
|
(modulesPath + "/config/stub-ld.nix")
|
||||||
|
(modulesPath + "/programs/nix-ld.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
config = lib.mkIf pkgs.hostPlatform.isMusl {
|
||||||
|
i18n.glibcLocales = pkgs.stdenvNoCC.mkDerivation {
|
||||||
|
pname = "locale-archive-stub";
|
||||||
|
version = "0";
|
||||||
|
|
||||||
|
buildCommand = ''
|
||||||
|
mkdir -p "$out/lib/locale"
|
||||||
|
touch "$out/lib/locale/locale-archive"
|
||||||
|
'';
|
||||||
|
} |> lib.mkDefault;
|
||||||
|
|
||||||
|
i18n.supportedLocales = lib.mkDefault [ ];
|
||||||
|
security.pam.services.login.updateWtmp = lib.mkForce false;
|
||||||
|
services.nscd.enable = lib.mkForce false;
|
||||||
|
system.nssModules = lib.mkForce [ ];
|
||||||
|
};
|
||||||
|
}
|
1
nixos/result
Symbolic link
1
nixos/result
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/y9c8a19hbfqpfinhnd5d5hr1833wjy77-nixos-system-muon-24.11pre-git
|
|
@ -1,9 +1,112 @@
|
||||||
{ nixpkgs, ... }: final: prev:
|
{ self, nixpkgs, ... }: final: prev:
|
||||||
let
|
let
|
||||||
inherit (nixpkgs) lib;
|
inherit (nixpkgs) lib;
|
||||||
inherit (lib) toList;
|
inherit (lib) toList;
|
||||||
inherit (prev.stdenv) hostPlatform;
|
inherit (prev.stdenv) buildPlatform hostPlatform;
|
||||||
|
inherit (self.lib) removePackages;
|
||||||
|
|
||||||
|
prev' = prev;
|
||||||
|
final' = final;
|
||||||
in {
|
in {
|
||||||
|
gst_all_1 = prev.gst_all_1 // {
|
||||||
|
gst-plugins-bad = prev.gst_all_1.gst-plugins-bad.overrideAttrs (prevAttrs: {
|
||||||
|
buildInputs = prevAttrs.buildInputs or [ ] |> removePackages [ "libajantv2" ];
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
perlPackages = prev.perlPackages.overrideScope (final: prev: {
|
||||||
|
DBI = prev.DBI.overrideAttrs (prevAttrs: {
|
||||||
|
nativeBuildInputs = prevAttrs.nativeBuildInputs or [ ] ++ [
|
||||||
|
final'.stdenv.cc
|
||||||
|
final'.stdenv.cc.binutils
|
||||||
|
];
|
||||||
|
|
||||||
|
makeMakerFlags = prevAttrs.makeMakerFlags or [ ] ++ [
|
||||||
|
"CC=${final'.stdenv.cc.targetPrefix}cc"
|
||||||
|
"LD=${final'.stdenv.cc.targetPrefix}cc"
|
||||||
|
"CCFLAGS=-Doff64_t=off_t"
|
||||||
|
];
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
bind = prev.bind.overrideAttrs (prevAttrs: {
|
||||||
|
buildInputs = prevAttrs.buildInputs or [ ] |> removePackages [ "jemalloc" ];
|
||||||
|
});
|
||||||
|
|
||||||
|
diffutils = prev.diffutils.overrideAttrs (prevAttrs: {
|
||||||
|
configureFlags = prevAttrs.configureFlags or [ ] ++ [ "--disable-nls" ];
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
sed -E -i 's/test-getopt-(gnu|posix)//g' gnulib-tests/Makefile.in
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
|
gnu-efi = prev.gnu-efi.overrideAttrs (prevAttrs: {
|
||||||
|
nativeBuildInputs = prevAttrs.nativeBuildInputs or [ ] ++ [ final.buildPackages.binutils ];
|
||||||
|
makeFlags = prevAttrs.makeFlags or [ ] ++ [ "CC=${final.stdenv.cc.targetPrefix}cc" ];
|
||||||
|
});
|
||||||
|
|
||||||
|
gsm = prev.gsm.overrideAttrs (prevAttrs: {
|
||||||
|
makeFlags = prevAttrs.makeFlags or [ ] ++ [ "CC=${final.stdenv.cc.targetPrefix}cc" ];
|
||||||
|
});
|
||||||
|
|
||||||
|
keyutils = prev.keyutils.overrideAttrs (prevAttrs: {
|
||||||
|
NIX_LDFLAGS = toList prevAttrs.NIX_LDFLAGS or [ ] ++ [ "--undefined-version" ];
|
||||||
|
});
|
||||||
|
|
||||||
|
kexec-tools = prev.kexec-tools.override { stdenv = final.gccStdenv; };
|
||||||
|
|
||||||
|
level-zero = prev.level-zero.overrideAttrs (prevAttrs: {
|
||||||
|
cmakeFlags = prevAttrs.cmakeFlags or [ ] ++ [ "-DCMAKE_CXX_FLAGS=-Wno-error=deprecated" ];
|
||||||
|
});
|
||||||
|
|
||||||
|
libcdio = prev.libcdio.overrideAttrs (prevAttrs: {
|
||||||
|
nativeBuildInputs = prevAttrs.nativeBuildInputs or [ ] ++ [ final.buildPackages.binutils ];
|
||||||
|
});
|
||||||
|
|
||||||
|
libjpeg = prev.libjpeg.overrideAttrs (prevAttrs: {
|
||||||
|
cmakeFlags = prevAttrs.cmakeFlags or [ ] ++ [ "-DFLOATTEST12=fp-contract" ];
|
||||||
|
});
|
||||||
|
|
||||||
|
liboping = prev.liboping.overrideAttrs (prevAttrs: {
|
||||||
|
configureFlags = prevAttrs.configureFlags or [ ] ++ [
|
||||||
|
"ac_cv_func_malloc_0_nonnull=yes"
|
||||||
|
"ac_cv_func_realloc_0_nonnull=yes"
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
libselinux = prev.libselinux.override { enablePython = false; };
|
||||||
|
|
||||||
|
liburing = prev.liburing.overrideAttrs (finalAttrs: prevAttrs: {
|
||||||
|
version = "2.8";
|
||||||
|
|
||||||
|
src = final.fetchFromGitHub {
|
||||||
|
owner = "axboe";
|
||||||
|
repo = "liburing";
|
||||||
|
rev = "refs/tags/liburing-${finalAttrs.version}";
|
||||||
|
hash = "sha256-10zmoMDzO41oNRVXE/6FzDGPVRVJTJTARVUmc1b7f+o=";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
llvmPackages = prev.llvmPackages // {
|
||||||
|
libcxx = prev.llvmPackages.libcxx.override {
|
||||||
|
devExtraCmakeFlags = [ "-DLIBCXX_HAS_MUSL_LIBC=1" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
lua = prev.lua.overrideAttrs (prevAttrs: {
|
||||||
|
env = prevAttrs.env or { } // { LD = "${final.stdenv.cc.targetPrefix}ld"; };
|
||||||
|
makeFlags = prevAttrs.makeFlags or [ ] ++ [ "LD=${final.stdenv.cc.targetPrefix}ld" ];
|
||||||
|
});
|
||||||
|
|
||||||
|
netbsd = prev.netbsd.overrideScope (final: prev: {
|
||||||
|
compatIfNeeded = [ final.compat ];
|
||||||
|
|
||||||
|
compat = prev.compat.overrideAttrs (prevAttrs: {
|
||||||
|
makeFlags = prevAttrs.makeFlags ++ [ "OBJCOPY=:" ];
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
numactl = prev.numactl.overrideAttrs (prevAttrs: {
|
numactl = prev.numactl.overrideAttrs (prevAttrs: {
|
||||||
patches = prevAttrs.patches or [ ] ++ [
|
patches = prevAttrs.patches or [ ] ++ [
|
||||||
(final.fetchpatch {
|
(final.fetchpatch {
|
||||||
|
@ -13,19 +116,60 @@ in {
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
redis = prev.redis.overrideAttrs {
|
python3 = (prev.python3.overrideAttrs (prevAttrs: {
|
||||||
doCheck = false;
|
env = prevAttrs.env or { } // {
|
||||||
};
|
LD = "${final.stdenv.cc.bintools}/bin/${final.stdenv.cc.targetPrefix}ld";
|
||||||
|
};
|
||||||
|
|
||||||
python312 = prev.python312.override {
|
configureFlags = prevAttrs.configureFlags or [ ] ++ [
|
||||||
|
"LD=${final.stdenv.cc.bintools}/bin/${final.stdenv.cc.targetPrefix}ld"
|
||||||
|
];
|
||||||
|
|
||||||
|
postFixup = prevAttrs.postFixup + ''
|
||||||
|
cat <<EOF >>"$out/nix-support/setup-hook"
|
||||||
|
setuptoolsDistutilsHook() {
|
||||||
|
export SETUPTOOLS_USE_DISTUTILS="stdlib"
|
||||||
|
}
|
||||||
|
|
||||||
|
addEnvHooks "\$hostOffset" setuptoolsDistutilsHook
|
||||||
|
EOF
|
||||||
|
'';
|
||||||
|
})).override {
|
||||||
packageOverrides = final: prev: {
|
packageOverrides = final: prev: {
|
||||||
pywebview = prev.pywebview.overrideAttrs ({
|
defusedxml = prev.defusedxml.overrideAttrs {
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
doInstallCheck = false;
|
doInstallCheck = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
html5-parser = prev.html5-parser.overrideAttrs (prevAttrs: {
|
||||||
|
env = prevAttrs.env or { } // {
|
||||||
|
LD = "${final.stdenv.cc.targetPrefix}cc";
|
||||||
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
netifaces = prev.netifaces.overrideAttrs (prevAttrs: {
|
||||||
|
env = prevAttrs.env or { } // {
|
||||||
|
NIX_CFLAGS_COMPILE = toList prevAttrs.env.NIX_CFLAGS_COMPILE or [ ] ++ [
|
||||||
|
"-Wno-error=int-conversion"
|
||||||
|
] |> toString;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
pycparser = prev.pycparser.overrideAttrs {
|
||||||
|
doCheck = false;
|
||||||
|
doInstallCheck = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
python3Packages = final.python3.pkgs;
|
||||||
|
|
||||||
|
redis = prev.redis.overrideAttrs { doCheck = false; };
|
||||||
|
|
||||||
|
sane-backends = prev.sane-backends.overrideAttrs (prevAttrs: {
|
||||||
|
buildInputs = prevAttrs.buildInputs or [ ] |> removePackages [ "net-snmp" ];
|
||||||
|
});
|
||||||
|
|
||||||
sioyek = prev.sioyek.overrideAttrs (prevAttrs: {
|
sioyek = prev.sioyek.overrideAttrs (prevAttrs: {
|
||||||
env = prevAttrs.env or { } // {
|
env = prevAttrs.env or { } // {
|
||||||
NIX_CFLAGS_COMPILE = toList prevAttrs.env.NIX_CFLAGS_COMPILE or [ ]
|
NIX_CFLAGS_COMPILE = toList prevAttrs.env.NIX_CFLAGS_COMPILE or [ ]
|
||||||
|
@ -33,10 +177,28 @@ in {
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
soundtouch = prev.soundtouch.overrideAttrs (prevAttrs: {
|
||||||
|
nativeBuildInputs = prevAttrs.nativeBuildInputs or [ ] ++ [ final.binutils ];
|
||||||
|
});
|
||||||
|
|
||||||
|
time = prev.time.overrideAttrs (prevAttrs: {
|
||||||
|
env = prevAttrs.env or { } // {
|
||||||
|
CFLAGS = toList prevAttrs.env.CFLAGS or [ ] ++ [
|
||||||
|
"-Wno-error=implicit-function-declaration"
|
||||||
|
] |> toString;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
usrsctp = prev.usrsctp.overrideAttrs (prevAttrs: {
|
||||||
|
cmakeFlags = prevAttrs.cmakeFlags or [ ] ++ [ "-Dsctp_werror=0" ];
|
||||||
|
});
|
||||||
|
|
||||||
zeromq = prev.zeromq.overrideAttrs (prevAttrs: {
|
zeromq = prev.zeromq.overrideAttrs (prevAttrs: {
|
||||||
postPatch = prevAttrs.postPatch or "" + ''
|
postPatch = prevAttrs.postPatch or "" + ''
|
||||||
substituteInPlace CMakeLists.txt \
|
substituteInPlace CMakeLists.txt \
|
||||||
--replace-fail 'CACHELINE_SIZE EQUAL "undefined"' 'CACHELINE_SIZE STREQUAL "undefined"'
|
--replace-fail 'CACHELINE_SIZE EQUAL "undefined"' 'CACHELINE_SIZE STREQUAL "undefined"'
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
zlib = prev.zlib.override { splitStaticOutput = false; };
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ let
|
||||||
inherit (nixpkgs) lib;
|
inherit (nixpkgs) lib;
|
||||||
in {
|
in {
|
||||||
mimalloc = (prev.mimalloc.overrideAttrs (prevAttrs: {
|
mimalloc = (prev.mimalloc.overrideAttrs (prevAttrs: {
|
||||||
|
overrideAlloc = false;
|
||||||
postPatch = prevAttrs.postPatch or "" + ''
|
postPatch = prevAttrs.postPatch or "" + ''
|
||||||
sed -E -i \
|
sed -E -i \
|
||||||
-e 's/(\{ )1(, UNINIT, MI_OPTION_LEGACY\(purge_decommits,reset_decommits\) \})/\10\2/' \
|
-e 's/(\{ )1(, UNINIT, MI_OPTION_LEGACY\(purge_decommits,reset_decommits\) \})/\10\2/' \
|
||||||
|
@ -15,28 +16,8 @@ in {
|
||||||
secureBuild = true;
|
secureBuild = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
firefox = (final.wrapFirefox final.firefox-unwrapped { }).overrideAttrs (prevAttrs: {
|
|
||||||
buildCommand = prevAttrs.buildCommand + ''
|
|
||||||
sed -i \
|
|
||||||
'$i export MIMALLOC_RESERVE_HUGE_OS_PAGES=2' \
|
|
||||||
"$out/bin/firefox"
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
|
|
||||||
thunderbird = (final.wrapThunderbird final.thunderbird-unwrapped { }).overrideAttrs (prevAttrs: {
|
|
||||||
buildCommand = prevAttrs.buildCommand + ''
|
|
||||||
sed -i \
|
|
||||||
'$i export MIMALLOC_RESERVE_HUGE_OS_PAGES=2' \
|
|
||||||
"$out/bin/thunderbird"
|
|
||||||
'';
|
|
||||||
});
|
|
||||||
|
|
||||||
fractal = prev.fractal.overrideAttrs (prevAttrs: {
|
fractal = prev.fractal.overrideAttrs (prevAttrs: {
|
||||||
nativeBuildInputs = prevAttrs.nativeBuildInputs or [ ] ++ [ final.makeBinaryWrapper ];
|
nativeBuildInputs = prevAttrs.nativeBuildInputs or [ ] ++ [ final.makeBinaryWrapper ];
|
||||||
buildInputs = prevAttrs.buildInputs or [ ] ++ [ final.mimalloc ];
|
|
||||||
|
|
||||||
NIX_RUSTFLAGS = lib.toList prevAttrs.NIX_RUSTFLAGS or [ ] ++ [ "-C" "link-arg=-lmimalloc" ];
|
|
||||||
|
|
||||||
postInstall = prevAttrs.postInstall or "" + ''
|
postInstall = prevAttrs.postInstall or "" + ''
|
||||||
wrapProgram "$out/bin/fractal" \
|
wrapProgram "$out/bin/fractal" \
|
||||||
--set MIMALLOC_RESERVE_HUGE_OS_PAGES 1
|
--set MIMALLOC_RESERVE_HUGE_OS_PAGES 1
|
||||||
|
@ -47,47 +28,8 @@ in {
|
||||||
mpv = final.mpv-unwrapped;
|
mpv = final.mpv-unwrapped;
|
||||||
extraMakeWrapperArgs = [ "--set" "MIMALLOC_RESERVE_HUGE_OS_PAGES" "1" ];
|
extraMakeWrapperArgs = [ "--set" "MIMALLOC_RESERVE_HUGE_OS_PAGES" "1" ];
|
||||||
};
|
};
|
||||||
} // lib.genAttrs [
|
|
||||||
"bat"
|
|
||||||
"bottom"
|
|
||||||
"cryptsetup"
|
|
||||||
"dbus-broker"
|
|
||||||
"erlang"
|
|
||||||
"fd"
|
|
||||||
"firefox-unwrapped"
|
|
||||||
"fuzzel"
|
|
||||||
"helix"
|
|
||||||
"kitty"
|
|
||||||
"mako"
|
|
||||||
"mpv-unwrapped"
|
|
||||||
"niri"
|
|
||||||
"nix"
|
|
||||||
"nushell"
|
|
||||||
"openssh"
|
|
||||||
"pipewire"
|
|
||||||
"pueue"
|
|
||||||
"ripgrep"
|
|
||||||
"sd"
|
|
||||||
"sioyek"
|
|
||||||
"sudo-rs"
|
|
||||||
"systemd"
|
|
||||||
"swayidle"
|
|
||||||
"swaylock"
|
|
||||||
"swaylock-effects"
|
|
||||||
"thunderbird-unwrapped"
|
|
||||||
"uutils-coreutils"
|
|
||||||
"uutils-coreutils-noprefix"
|
|
||||||
"waybar"
|
|
||||||
"wirepluber"
|
|
||||||
"xdg-desktop-portal-gnome"
|
|
||||||
"xdg-desktop-portal-gtk"
|
|
||||||
] (pkg: prev.${pkg}.overrideAttrs (prevAttrs: {
|
|
||||||
buildInputs = prevAttrs.buildInputs or [ ] ++ [ final.mimalloc ];
|
|
||||||
env = prevAttrs.env or { } // lib.optionalAttrs (prevAttrs ? env.NIX_LDFLAGS) {
|
|
||||||
NIX_LDFLAGS = toString (lib.toList prevAttrs.env.NIX_LDFLAGS or [ ] ++ [ "-lmimalloc" ]);
|
|
||||||
};
|
|
||||||
|
|
||||||
NIX_RUSTFLAGS = lib.toList prevAttrs.NIX_RUSTFLAGS or [ ] ++ [ "-C" "link-arg=-lmimalloc" ];
|
perl = prev.perl.overrideAttrs {
|
||||||
} // lib.optionalAttrs (!prevAttrs ? env.NIX_LDFLAGS) {
|
overrideAlloc = false;
|
||||||
NIX_LDFLAGS = lib.toList prevAttrs.NIX_LDFLAGS or [ ] ++ [ "-lmimalloc" ];
|
};
|
||||||
}))
|
}
|
||||||
|
|
|
@ -91,23 +91,6 @@ in genAttrs [
|
||||||
withSsh = false;
|
withSsh = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
firefox-unwrapped = (prev.firefox-unwrapped.overrideAttrs (prevAttrs: {
|
|
||||||
buildInputs = prevAttrs.buildInputs or [ ]
|
|
||||||
++ [ final.alsa-lib ];
|
|
||||||
|
|
||||||
configureFlags = prevAttrs.configureFlags or [ ]
|
|
||||||
|> substituteFlags {
|
|
||||||
"--enable-default-toolkit=.*" = "--enable-default-toolkit=cairo-gtk3-wayland-only";
|
|
||||||
};
|
|
||||||
})).override {
|
|
||||||
alsaSupport = false;
|
|
||||||
gssSupport = false;
|
|
||||||
jemallocSupport = false;
|
|
||||||
sndioSupport = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
firefox = final.wrapFirefox final.firefox-unwrapped { };
|
|
||||||
|
|
||||||
gammastep = prev.gammastep.override {
|
gammastep = prev.gammastep.override {
|
||||||
withRandr = false;
|
withRandr = false;
|
||||||
};
|
};
|
||||||
|
@ -344,17 +327,6 @@ in genAttrs [
|
||||||
withIptables = false;
|
withIptables = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
thunderbird-unwrapped = (prev.thunderbird-unwrapped.overrideAttrs (prevAttrs: {
|
|
||||||
configureFlags = prevAttrs.configureFlags or [ ]
|
|
||||||
|> substituteFlags {
|
|
||||||
"--enable-default-toolkit=.*" = "--enable-default-toolkit=cairo-gtk3-wayland-only";
|
|
||||||
};
|
|
||||||
})).override {
|
|
||||||
jemallocSupport = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
thunderbird = final.wrapThunderbird final.thunderbird-unwrapped { };
|
|
||||||
|
|
||||||
w3m = prev.w3m.override {
|
w3m = prev.w3m.override {
|
||||||
x11Support = false;
|
x11Support = false;
|
||||||
imlib2 = final.imlib2;
|
imlib2 = final.imlib2;
|
||||||
|
|
Loading…
Reference in a new issue