mirror of
https://codeberg.org/leana8959/.files.git
synced 2025-12-06 14:49:14 +00:00
Drop flake parts
Use native nix functions to speed up and reduce complexity
This commit is contained in:
parent
85e2bd6728
commit
daefd1534f
15 changed files with 501 additions and 423 deletions
|
|
@ -1,13 +1,16 @@
|
|||
{
|
||||
self,
|
||||
inputs,
|
||||
|
||||
many,
|
||||
mkDarwin,
|
||||
mkHomeManager,
|
||||
mkNixOS,
|
||||
...
|
||||
}:
|
||||
}@inputs:
|
||||
|
||||
let
|
||||
inherit (self.lib)
|
||||
many
|
||||
mkDarwin
|
||||
mkHomeManager
|
||||
mkNixOS
|
||||
;
|
||||
in
|
||||
|
||||
let
|
||||
nixpkgsConfig = {
|
||||
|
|
@ -69,104 +72,100 @@ in
|
|||
|
||||
{
|
||||
|
||||
flake = {
|
||||
|
||||
darwinConfigurations = mkDarwins {
|
||||
# MacBook Pro 2021
|
||||
bismuth = {
|
||||
system = "aarch64-darwin";
|
||||
modules = [
|
||||
{
|
||||
home-manager.users.leana.imports = [
|
||||
self.homeModules.neovim-moreLangServers
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
# MacBook Air 2014
|
||||
tungsten.system = "x86_64-darwin";
|
||||
darwinConfigurations = mkDarwins {
|
||||
# MacBook Pro 2021
|
||||
bismuth = {
|
||||
system = "aarch64-darwin";
|
||||
modules = [
|
||||
{
|
||||
home-manager.users.leana.imports = [
|
||||
self.homeModules.neovim-moreLangServers
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
# MacBook Air 2014
|
||||
tungsten.system = "x86_64-darwin";
|
||||
};
|
||||
|
||||
homeConfigurations = mkHomeManagers {
|
||||
# Oracle cloud
|
||||
oracle.system = "aarch64-linux";
|
||||
# Inria (2024)
|
||||
mertensia = {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
self.homeModules.neovim-moreLangServers
|
||||
];
|
||||
};
|
||||
homeConfigurations = mkHomeManagers {
|
||||
# Oracle cloud
|
||||
oracle.system = "aarch64-linux";
|
||||
# Inria (2024)
|
||||
mertensia = {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
self.homeModules.neovim-moreLangServers
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
nixosConfigurations = mkNixOSes {
|
||||
# Thinkpad
|
||||
carbon = {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
inputs.disko.nixosModules.default
|
||||
self.diskoConfigurations.carbon
|
||||
{
|
||||
home-manager.users.leana.imports = [
|
||||
self.homeModules.preset-fancy
|
||||
self.homeModules.preset-nix
|
||||
nixosConfigurations = mkNixOSes {
|
||||
# Thinkpad
|
||||
carbon = {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
inputs.disko.nixosModules.default
|
||||
self.diskoConfigurations.carbon
|
||||
{
|
||||
home-manager.users.leana.imports = [
|
||||
self.homeModules.preset-fancy
|
||||
self.homeModules.preset-nix
|
||||
|
||||
self.homeModules.neovim-moreLangServers
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
# Framework 13
|
||||
vanadium = {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
inputs.disko.nixosModules.default
|
||||
self.diskoConfigurations.vanadium
|
||||
inputs.nixos-hardware.nixosModules.framework-13-7040-amd
|
||||
{
|
||||
home-manager.users.leana.imports = [
|
||||
self.homeModules.preset-fancy
|
||||
self.homeModules.preset-nix
|
||||
|
||||
self.homeModules.neovim-moreLangServers
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
# Raspberry Pi 4
|
||||
hydrogen = {
|
||||
system = "aarch64-linux";
|
||||
modules = [
|
||||
inputs.hoot.nixosModules.default
|
||||
self.nixosModules.typst-bot
|
||||
self.nixosModules.parrot
|
||||
];
|
||||
};
|
||||
# (somewhat generic) installer
|
||||
installer = rec {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
self.nixosModules.layouts
|
||||
self.nixosModules.system-nixconf
|
||||
(
|
||||
{ pkgs, modulesPath, ... }:
|
||||
{
|
||||
imports = [ "${toString modulesPath}/installer/cd-dvd/installation-cd-minimal.nix" ];
|
||||
isoImage.squashfsCompression = "zstd -Xcompression-level 3";
|
||||
environment.systemPackages = [
|
||||
inputs.disko.packages.${system}.disko
|
||||
pkgs.fish
|
||||
pkgs.git
|
||||
pkgs.pastebinit # for sharing cli output & debugging
|
||||
];
|
||||
users.users.nixos.shell = pkgs.fish;
|
||||
programs.fish.enable = true;
|
||||
}
|
||||
)
|
||||
];
|
||||
};
|
||||
self.homeModules.neovim-moreLangServers
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
# Framework 13
|
||||
vanadium = {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
inputs.disko.nixosModules.default
|
||||
self.diskoConfigurations.vanadium
|
||||
inputs.nixos-hardware.nixosModules.framework-13-7040-amd
|
||||
{
|
||||
home-manager.users.leana.imports = [
|
||||
self.homeModules.preset-fancy
|
||||
self.homeModules.preset-nix
|
||||
|
||||
self.homeModules.neovim-moreLangServers
|
||||
];
|
||||
}
|
||||
];
|
||||
};
|
||||
# Raspberry Pi 4
|
||||
hydrogen = {
|
||||
system = "aarch64-linux";
|
||||
modules = [
|
||||
inputs.hoot.nixosModules.default
|
||||
self.nixosModules.typst-bot
|
||||
self.nixosModules.parrot
|
||||
];
|
||||
};
|
||||
# (somewhat generic) installer
|
||||
installer = rec {
|
||||
system = "x86_64-linux";
|
||||
modules = [
|
||||
self.nixosModules.layouts
|
||||
self.nixosModules.system-nixconf
|
||||
(
|
||||
{ pkgs, modulesPath, ... }:
|
||||
{
|
||||
imports = [ "${toString modulesPath}/installer/cd-dvd/installation-cd-minimal.nix" ];
|
||||
isoImage.squashfsCompression = "zstd -Xcompression-level 3";
|
||||
environment.systemPackages = [
|
||||
inputs.disko.packages.${system}.disko
|
||||
pkgs.fish
|
||||
pkgs.git
|
||||
pkgs.pastebinit # for sharing cli output & debugging
|
||||
];
|
||||
users.users.nixos.shell = pkgs.fish;
|
||||
programs.fish.enable = true;
|
||||
}
|
||||
)
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,15 @@
|
|||
{
|
||||
self,
|
||||
inputs,
|
||||
lib,
|
||||
modulesFromDir,
|
||||
...
|
||||
}:
|
||||
}@inputs:
|
||||
|
||||
let
|
||||
inherit (self.lib)
|
||||
modulesFromDir
|
||||
;
|
||||
|
||||
inherit (inputs.nixpkgs) lib;
|
||||
in
|
||||
|
||||
let
|
||||
commonModules =
|
||||
|
|
@ -46,8 +51,6 @@ let
|
|||
value.imports = [
|
||||
self.darwinModules.commonModules
|
||||
|
||||
self.nixosModules.fish-vendor-completions
|
||||
|
||||
inputs.home-manager.darwinModules.home-manager
|
||||
{
|
||||
home-manager = {
|
||||
|
|
@ -61,9 +64,7 @@ let
|
|||
}) (modulesFromDir ./named);
|
||||
in
|
||||
|
||||
{
|
||||
flake.darwinModules = lib.mergeAttrsList [
|
||||
{ inherit commonModules; }
|
||||
named
|
||||
];
|
||||
}
|
||||
lib.mergeAttrsList [
|
||||
{ inherit commonModules; }
|
||||
named
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
{ self, inputs, ... }:
|
||||
{
|
||||
self,
|
||||
...
|
||||
}@inputs:
|
||||
|
||||
{
|
||||
flake.checks = builtins.mapAttrs (
|
||||
_system: deployLib: deployLib.deployChecks self.deploy
|
||||
) inputs.deploy-rs.lib;
|
||||
checks = builtins.mapAttrs (_: deployLib: deployLib.deployChecks self.deploy) inputs.deploy-rs.lib;
|
||||
|
||||
flake.deploy.nodes = {
|
||||
deploy.nodes = {
|
||||
carbon = {
|
||||
hostname = "carbon";
|
||||
sshUser = "root";
|
||||
|
|
|
|||
|
|
@ -1,16 +1,46 @@
|
|||
{
|
||||
systems,
|
||||
...
|
||||
}@inputs:
|
||||
|
||||
perSystem =
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
inherit (inputs.nixpkgs) lib;
|
||||
in
|
||||
|
||||
let
|
||||
devShellOf =
|
||||
system:
|
||||
let
|
||||
call = x: import x { inherit pkgs; };
|
||||
pkgs = import inputs.nixpkgs { inherit system; };
|
||||
in
|
||||
{
|
||||
devShells =
|
||||
# devShells that I can't commit to repos themselves
|
||||
call ./of-repos.nix
|
||||
# Per language basic tooling
|
||||
// call ./of-languages.nix;
|
||||
};
|
||||
default =
|
||||
let
|
||||
pre-commit-check = inputs.pre-commit-hooks.lib.${system}.run {
|
||||
src = ./.;
|
||||
hooks = {
|
||||
# nix
|
||||
nixfmt-rfc-style.enable = true;
|
||||
statix.enable = true;
|
||||
deadnix.enable = true;
|
||||
|
||||
# lua
|
||||
stylua.enable = true;
|
||||
|
||||
# toml
|
||||
taplo.enable = true;
|
||||
};
|
||||
};
|
||||
in
|
||||
inputs.nixpkgs.legacyPackages.${system}.mkShell {
|
||||
inherit (pre-commit-check) shellHook;
|
||||
buildInputs = pre-commit-check.enabledPackages;
|
||||
};
|
||||
}
|
||||
// import ./of-repos.nix { inherit pkgs; }
|
||||
// import ./of-languages.nix { inherit pkgs; };
|
||||
in
|
||||
|
||||
{
|
||||
devShells = lib.genAttrs systems devShellOf;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
flake.diskoConfigurations = {
|
||||
diskoConfigurations = {
|
||||
carbon = import ./carbon;
|
||||
vanadium = import ./vanadium;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
let
|
||||
combinators = ./combinators.nix;
|
||||
in
|
||||
|
||||
{
|
||||
imports = [ combinators ];
|
||||
flake.flakeModules = { inherit combinators; };
|
||||
}
|
||||
|
|
@ -1,11 +1,16 @@
|
|||
{
|
||||
self,
|
||||
inputs,
|
||||
lib,
|
||||
modulesFromDir,
|
||||
mergeAttrsWith,
|
||||
...
|
||||
}:
|
||||
}@inputs:
|
||||
|
||||
let
|
||||
inherit (self.lib)
|
||||
modulesFromDir
|
||||
mergeAttrsWith
|
||||
;
|
||||
|
||||
inherit (inputs.nixpkgs) lib;
|
||||
in
|
||||
|
||||
let
|
||||
common =
|
||||
|
|
@ -32,14 +37,12 @@ let
|
|||
}) (modulesFromDir ./named);
|
||||
in
|
||||
|
||||
{
|
||||
flake.homeModules = lib.mergeAttrsList [
|
||||
{
|
||||
commonModules.imports = lib.attrValues common;
|
||||
extraModules.imports = lib.attrValues extra;
|
||||
}
|
||||
common
|
||||
extra
|
||||
named
|
||||
];
|
||||
}
|
||||
lib.mergeAttrsList [
|
||||
{
|
||||
commonModules.imports = lib.attrValues common;
|
||||
extraModules.imports = lib.attrValues extra;
|
||||
}
|
||||
common
|
||||
extra
|
||||
named
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
{
|
||||
lib,
|
||||
inputs,
|
||||
withSystem,
|
||||
...
|
||||
}:
|
||||
inputs:
|
||||
|
||||
let
|
||||
inherit (inputs.nixpkgs) lib;
|
||||
in
|
||||
|
||||
{
|
||||
mkNixOS =
|
||||
sharedModules:
|
||||
{
|
||||
|
|
@ -41,16 +40,16 @@ let
|
|||
system,
|
||||
modules ? [ ],
|
||||
}:
|
||||
withSystem system (
|
||||
{ pkgs, ... }:
|
||||
inputs.home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = {
|
||||
inherit hostname;
|
||||
};
|
||||
modules = sharedModules { inherit hostname system; } ++ modules;
|
||||
}
|
||||
);
|
||||
let
|
||||
pkgs = import inputs.nixpkgs { };
|
||||
in
|
||||
inputs.home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = {
|
||||
inherit hostname;
|
||||
};
|
||||
modules = sharedModules { inherit hostname system; } ++ modules;
|
||||
};
|
||||
|
||||
many = func: builtins.mapAttrs (hostname: cfgs: func (cfgs // { inherit hostname; }));
|
||||
|
||||
|
|
@ -81,18 +80,6 @@ let
|
|||
}
|
||||
))
|
||||
];
|
||||
in
|
||||
{
|
||||
_module.args = {
|
||||
inherit
|
||||
many
|
||||
mkNixOS
|
||||
mkDarwin
|
||||
mkHomeManager
|
||||
|
||||
maybePathOrDefault
|
||||
mergeAttrsWith
|
||||
modulesFromDir
|
||||
;
|
||||
};
|
||||
mkNerdFont = import ./mkNerdFont.nix;
|
||||
}
|
||||
|
|
@ -1,11 +1,16 @@
|
|||
{
|
||||
self,
|
||||
inputs,
|
||||
lib,
|
||||
modulesFromDir,
|
||||
mergeAttrsWith,
|
||||
...
|
||||
}:
|
||||
}@inputs:
|
||||
|
||||
let
|
||||
inherit (self.lib)
|
||||
modulesFromDir
|
||||
mergeAttrsWith
|
||||
;
|
||||
|
||||
inherit (inputs.nixpkgs) lib;
|
||||
in
|
||||
|
||||
let
|
||||
# generic modules that can be enabled on all devices
|
||||
|
|
@ -51,11 +56,9 @@ let
|
|||
}) (modulesFromDir ./named);
|
||||
in
|
||||
|
||||
{
|
||||
flake.nixosModules = lib.mergeAttrsList [
|
||||
{ commonModules.imports = lib.attrValues common; }
|
||||
common
|
||||
extra
|
||||
named
|
||||
];
|
||||
}
|
||||
lib.mergeAttrsList [
|
||||
{ commonModules.imports = lib.attrValues common; }
|
||||
common
|
||||
extra
|
||||
named
|
||||
]
|
||||
|
|
|
|||
|
|
@ -1,13 +1,15 @@
|
|||
{
|
||||
inputs,
|
||||
lib,
|
||||
self,
|
||||
...
|
||||
}:
|
||||
}@inputs:
|
||||
|
||||
let
|
||||
inherit (inputs.nixpkgs) lib;
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
flake.overlays =
|
||||
overlays =
|
||||
let
|
||||
externPackages = final: _: {
|
||||
inherit
|
||||
|
|
|
|||
|
|
@ -1,203 +1,209 @@
|
|||
{
|
||||
self,
|
||||
lib,
|
||||
inputs,
|
||||
systems,
|
||||
...
|
||||
}:
|
||||
}@inputs:
|
||||
|
||||
let
|
||||
inherit (inputs.nixpkgs) lib;
|
||||
in
|
||||
|
||||
{
|
||||
flake = {
|
||||
lib.mkNerdFont = ./mkNerdFont.nix;
|
||||
|
||||
overlays = {
|
||||
packages =
|
||||
final: _:
|
||||
let
|
||||
stable = import inputs.nixpkgs-stable { inherit (final) system; };
|
||||
in
|
||||
self.overlays.packages' stable stable;
|
||||
packageOverlays = {
|
||||
packages =
|
||||
final: _:
|
||||
let
|
||||
stable = import inputs.nixpkgs-stable { inherit (final) system; };
|
||||
in
|
||||
self.overlays.packages' stable stable;
|
||||
|
||||
packages' =
|
||||
final: _:
|
||||
let
|
||||
mkNerdFont = final.callPackage self.lib.mkNerdFont { };
|
||||
packages' =
|
||||
final: _:
|
||||
let
|
||||
mkNerdFont = final.callPackage self.lib.mkNerdFont { };
|
||||
|
||||
mkHaskellPackage =
|
||||
{
|
||||
src,
|
||||
name,
|
||||
apply ? lib.id,
|
||||
}:
|
||||
let
|
||||
drv = final.haskellPackages.callCabal2nix name src { };
|
||||
in
|
||||
lib.pipe drv [
|
||||
apply
|
||||
final.haskell.lib.dontHaddock
|
||||
final.haskell.lib.justStaticExecutables
|
||||
];
|
||||
in
|
||||
lib.fix (ps: {
|
||||
# fonts
|
||||
hiosevka = final.callPackage ./hiosevka { };
|
||||
hiosevka-nerd-font-mono = mkNerdFont {
|
||||
font = ps.hiosevka;
|
||||
extraArgs = [
|
||||
"--name {/.}-NFM"
|
||||
"--use-single-width-glyphs"
|
||||
];
|
||||
mkHaskellPackage =
|
||||
{
|
||||
src,
|
||||
name,
|
||||
apply ? lib.id,
|
||||
}:
|
||||
let
|
||||
drv = final.haskellPackages.callCabal2nix name src { };
|
||||
in
|
||||
lib.pipe drv [
|
||||
apply
|
||||
final.haskell.lib.dontHaddock
|
||||
final.haskell.lib.justStaticExecutables
|
||||
];
|
||||
in
|
||||
lib.fix (ps: {
|
||||
# fonts
|
||||
hiosevka = final.callPackage ./hiosevka { };
|
||||
hiosevka-nerd-font-mono = mkNerdFont {
|
||||
font = ps.hiosevka;
|
||||
extraArgs = [
|
||||
"--name {/.}-NFM"
|
||||
"--use-single-width-glyphs"
|
||||
];
|
||||
};
|
||||
hiosevka-nerd-font-propo = mkNerdFont {
|
||||
font = ps.hiosevka;
|
||||
extraArgs = [
|
||||
"--name {/.}-NFP"
|
||||
"--variable-width-glyphs"
|
||||
];
|
||||
};
|
||||
|
||||
altiosevka = final.callPackage ./altiosevka { };
|
||||
altiosevka-nerd-font-mono = mkNerdFont {
|
||||
font = ps.altiosevka;
|
||||
extraArgs = [
|
||||
"--name {/.}-NFM"
|
||||
"--use-single-width-glyphs"
|
||||
];
|
||||
};
|
||||
altiosevka-nerd-font-propo = mkNerdFont {
|
||||
font = ps.altiosevka;
|
||||
extraArgs = [
|
||||
"--name {/.}-NFP"
|
||||
"--variable-width-glyphs"
|
||||
];
|
||||
};
|
||||
# static version of noto-fonts cjk serif
|
||||
noto-fonts-cjk-serif' = final.callPackage ./noto-fonts-cjk-serif.nix { };
|
||||
|
||||
logisim-evolution = final.callPackage ./logisim-evolution.nix { };
|
||||
necrolib = final.callPackage ./necrolib.nix { };
|
||||
why3-wrapped =
|
||||
let
|
||||
why3-pinned = import (final.fetchFromGitHub {
|
||||
owner = "nixos";
|
||||
repo = "nixpkgs";
|
||||
rev = "805a384895c696f802a9bf5bf4720f37385df547";
|
||||
hash = "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=";
|
||||
}) { inherit (final) system; };
|
||||
alt-ergo-pinned =
|
||||
import
|
||||
(final.fetchFromGitHub {
|
||||
owner = "nixos";
|
||||
repo = "nixpkgs";
|
||||
rev = "1b95daa381fa4a0963217a5d386433c20008208a";
|
||||
hash = "sha256-vwEtkxIEQjymeTk89Ty1MGfRVSWL1/3j1wt5xB5ua88=";
|
||||
})
|
||||
{
|
||||
inherit (final) system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
in
|
||||
why3-pinned.callPackage ./why3.nix { inherit (alt-ergo-pinned) alt-ergo; };
|
||||
|
||||
maeel = final.callPackage ./maeel.nix { };
|
||||
tokei = final.callPackage ./tokei { }; # alpha tokei with typst, skel, hledger
|
||||
typst-mutilate = final.callPackage ./typst-mutilate.nix { };
|
||||
typst-bot = final.callPackage ./typst-bot.nix { };
|
||||
webtoon_downloader = final.callPackage ./webtoon_downloader.nix { };
|
||||
|
||||
posy-cursor = final.callPackage ./posy-cursor.nix { };
|
||||
nd = final.callPackage ./nd { };
|
||||
xbrightness = final.callPackage ./xbrightness.nix { };
|
||||
ffgun = final.callPackage ./ffgun.nix { };
|
||||
easyscan = final.callPackage ./easyscan.nix { };
|
||||
|
||||
# my repositories
|
||||
hbf = mkHaskellPackage {
|
||||
name = "hbrainfuck";
|
||||
src = final.fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "leana8959";
|
||||
repo = "hbrainfuck";
|
||||
rev = "81c1d0d7ef1595bda1f8e4d86592d06e33bfd422";
|
||||
hash = "sha256-NSCqJwcM5UgsAMpIpDSTy534hEK0wMicqwoE3DC8CGk=";
|
||||
};
|
||||
hiosevka-nerd-font-propo = mkNerdFont {
|
||||
font = ps.hiosevka;
|
||||
extraArgs = [
|
||||
"--name {/.}-NFP"
|
||||
"--variable-width-glyphs"
|
||||
];
|
||||
apply =
|
||||
p:
|
||||
p.overrideAttrs (old: {
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ final.installShellFiles ];
|
||||
postInstall =
|
||||
(old.postInstall or "")
|
||||
+ ''
|
||||
installShellCompletion --cmd hbf \
|
||||
--bash <("$out/bin/hbf" --bash-completion-script "$out/bin/hbf") \
|
||||
--fish <("$out/bin/hbf" --fish-completion-script "$out/bin/hbf") \
|
||||
--zsh <("$out/bin/hbf" --zsh-completion-script "$out/bin/hbf")
|
||||
'';
|
||||
});
|
||||
};
|
||||
|
||||
prop-solveur = mkHaskellPackage {
|
||||
name = "prop-solveur";
|
||||
src = final.fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "leana8959";
|
||||
repo = "prop_solveur";
|
||||
rev = "814082ed223f77f15484fcd62ab130c7c7ba1b17";
|
||||
hash = "sha256-YNl9n3T0NfPQxbkLo4WVbg9huwAxKy96jQJxzt77z2w=";
|
||||
};
|
||||
apply =
|
||||
p:
|
||||
p.overrideAttrs (old: {
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ final.installShellFiles ];
|
||||
postInstall =
|
||||
(old.postInstall or "")
|
||||
+ ''
|
||||
installShellCompletion --cmd prop-solveur \
|
||||
--bash <("$out/bin/prop-solveur" --bash-completion-script "$out/bin/prop-solveur") \
|
||||
--fish <("$out/bin/prop-solveur" --fish-completion-script "$out/bin/prop-solveur") \
|
||||
--zsh <("$out/bin/prop-solveur" --zsh-completion-script "$out/bin/prop-solveur")
|
||||
'';
|
||||
});
|
||||
};
|
||||
|
||||
altiosevka = final.callPackage ./altiosevka { };
|
||||
altiosevka-nerd-font-mono = mkNerdFont {
|
||||
font = ps.altiosevka;
|
||||
extraArgs = [
|
||||
"--name {/.}-NFM"
|
||||
"--use-single-width-glyphs"
|
||||
];
|
||||
hutils = mkHaskellPackage {
|
||||
name = "hutils";
|
||||
src = final.fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "leana8959";
|
||||
repo = "hutils";
|
||||
rev = "544a2a6077e7c41fb2656bfe03b8b965bc0e50a7";
|
||||
hash = "sha256-kzXA8GU8BWuOOIitxB74kgT7or1Wn3TciSaNAyBcw9o=";
|
||||
};
|
||||
altiosevka-nerd-font-propo = mkNerdFont {
|
||||
font = ps.altiosevka;
|
||||
extraArgs = [
|
||||
"--name {/.}-NFP"
|
||||
"--variable-width-glyphs"
|
||||
];
|
||||
};
|
||||
# static version of noto-fonts cjk serif
|
||||
noto-fonts-cjk-serif' = final.callPackage ./noto-fonts-cjk-serif.nix { };
|
||||
};
|
||||
|
||||
logisim-evolution = final.callPackage ./logisim-evolution.nix { };
|
||||
necrolib = final.callPackage ./necrolib.nix { };
|
||||
why3-wrapped =
|
||||
let
|
||||
why3-pinned = import (final.fetchFromGitHub {
|
||||
owner = "nixos";
|
||||
repo = "nixpkgs";
|
||||
rev = "805a384895c696f802a9bf5bf4720f37385df547";
|
||||
hash = "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=";
|
||||
}) { inherit (final) system; };
|
||||
alt-ergo-pinned =
|
||||
import
|
||||
(final.fetchFromGitHub {
|
||||
owner = "nixos";
|
||||
repo = "nixpkgs";
|
||||
rev = "1b95daa381fa4a0963217a5d386433c20008208a";
|
||||
hash = "sha256-vwEtkxIEQjymeTk89Ty1MGfRVSWL1/3j1wt5xB5ua88=";
|
||||
})
|
||||
{
|
||||
inherit (final) system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
in
|
||||
why3-pinned.callPackage ./why3.nix { inherit (alt-ergo-pinned) alt-ergo; };
|
||||
|
||||
maeel = final.callPackage ./maeel.nix { };
|
||||
tokei = final.callPackage ./tokei { }; # alpha tokei with typst, skel, hledger
|
||||
typst-mutilate = final.callPackage ./typst-mutilate.nix { };
|
||||
typst-bot = final.callPackage ./typst-bot.nix { };
|
||||
webtoon_downloader = final.callPackage ./webtoon_downloader.nix { };
|
||||
|
||||
posy-cursor = final.callPackage ./posy-cursor.nix { };
|
||||
nd = final.callPackage ./nd { };
|
||||
xbrightness = final.callPackage ./xbrightness.nix { };
|
||||
ffgun = final.callPackage ./ffgun.nix { };
|
||||
easyscan = final.callPackage ./easyscan.nix { };
|
||||
|
||||
# my repositories
|
||||
hbf = mkHaskellPackage {
|
||||
name = "hbrainfuck";
|
||||
audio-lint =
|
||||
let
|
||||
rev = "3ea38c85c5f6135958e51ad4ff13a96ccd68a21c";
|
||||
in
|
||||
final.rustPlatform.buildRustPackage rec {
|
||||
pname = "audio-lint";
|
||||
version = lib.substring 0 8 rev;
|
||||
src = final.fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "leana8959";
|
||||
repo = "hbrainfuck";
|
||||
rev = "81c1d0d7ef1595bda1f8e4d86592d06e33bfd422";
|
||||
hash = "sha256-NSCqJwcM5UgsAMpIpDSTy534hEK0wMicqwoE3DC8CGk=";
|
||||
repo = "audio-lint";
|
||||
inherit rev;
|
||||
hash = "sha256-h1SnWAh3FPL5GweOXVXXtp+swZApgecYaWjy7rM/J+w=";
|
||||
};
|
||||
apply =
|
||||
p:
|
||||
p.overrideAttrs (old: {
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ final.installShellFiles ];
|
||||
postInstall =
|
||||
(old.postInstall or "")
|
||||
+ ''
|
||||
installShellCompletion --cmd hbf \
|
||||
--bash <("$out/bin/hbf" --bash-completion-script "$out/bin/hbf") \
|
||||
--fish <("$out/bin/hbf" --fish-completion-script "$out/bin/hbf") \
|
||||
--zsh <("$out/bin/hbf" --zsh-completion-script "$out/bin/hbf")
|
||||
'';
|
||||
});
|
||||
|
||||
cargoLock.lockFile = "${src}/Cargo.lock";
|
||||
};
|
||||
});
|
||||
|
||||
prop-solveur = mkHaskellPackage {
|
||||
name = "prop-solveur";
|
||||
src = final.fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "leana8959";
|
||||
repo = "prop_solveur";
|
||||
rev = "814082ed223f77f15484fcd62ab130c7c7ba1b17";
|
||||
hash = "sha256-YNl9n3T0NfPQxbkLo4WVbg9huwAxKy96jQJxzt77z2w=";
|
||||
};
|
||||
apply =
|
||||
p:
|
||||
p.overrideAttrs (old: {
|
||||
nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ final.installShellFiles ];
|
||||
postInstall =
|
||||
(old.postInstall or "")
|
||||
+ ''
|
||||
installShellCompletion --cmd prop-solveur \
|
||||
--bash <("$out/bin/prop-solveur" --bash-completion-script "$out/bin/prop-solveur") \
|
||||
--fish <("$out/bin/prop-solveur" --fish-completion-script "$out/bin/prop-solveur") \
|
||||
--zsh <("$out/bin/prop-solveur" --zsh-completion-script "$out/bin/prop-solveur")
|
||||
'';
|
||||
});
|
||||
};
|
||||
|
||||
hutils = mkHaskellPackage {
|
||||
name = "hutils";
|
||||
src = final.fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "leana8959";
|
||||
repo = "hutils";
|
||||
rev = "544a2a6077e7c41fb2656bfe03b8b965bc0e50a7";
|
||||
hash = "sha256-kzXA8GU8BWuOOIitxB74kgT7or1Wn3TciSaNAyBcw9o=";
|
||||
};
|
||||
};
|
||||
|
||||
audio-lint =
|
||||
let
|
||||
rev = "3ea38c85c5f6135958e51ad4ff13a96ccd68a21c";
|
||||
in
|
||||
final.rustPlatform.buildRustPackage rec {
|
||||
pname = "audio-lint";
|
||||
version = lib.substring 0 8 rev;
|
||||
src = final.fetchFromGitea {
|
||||
domain = "codeberg.org";
|
||||
owner = "leana8959";
|
||||
repo = "audio-lint";
|
||||
inherit rev;
|
||||
hash = "sha256-h1SnWAh3FPL5GweOXVXXtp+swZApgecYaWjy7rM/J+w=";
|
||||
};
|
||||
|
||||
cargoLock.lockFile = "${src}/Cargo.lock";
|
||||
};
|
||||
});
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
perSystem =
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
packages = lib.composeManyExtensions [
|
||||
self.overlays.packages
|
||||
self.overlays.reexports
|
||||
] pkgs pkgs;
|
||||
};
|
||||
packages =
|
||||
let
|
||||
packageOf =
|
||||
system:
|
||||
let
|
||||
pkgs = import inputs.nixpkgs { inherit system; };
|
||||
in
|
||||
lib.composeManyExtensions [
|
||||
self.overlays.packages
|
||||
self.overlays.reexports
|
||||
] pkgs pkgs;
|
||||
in
|
||||
lib.genAttrs systems packageOf;
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue