This commit is contained in:
cy 2024-12-13 11:28:27 -05:00
parent f5bc46061b
commit 7ca1fb1b89
5 changed files with 136 additions and 137 deletions

View file

@ -19,51 +19,50 @@
nixpkgs,
home-manager,
...
}@inputs: let
lib = nixpkgs.lib;
inherit (self) outputs;
} @ inputs: let
lib = nixpkgs.lib;
inherit (self) outputs;
systems = [ "x86_64-linux" ];
forEachSystem = f: lib.genAttrs systems (system: f pkgsFor.${system});
pkgsFor = lib.genAttrs systems (
system:
import nixpkgs {
inherit system;
config.allowUnfree = true;
systems = ["x86_64-linux"];
forEachSystem = f: lib.genAttrs systems (system: f pkgsFor.${system});
pkgsFor = lib.genAttrs systems (
system:
import nixpkgs {
inherit system;
config.allowUnfree = true;
}
);
in {
packages = forEachSystem (pkgs: import ./pkgs {inherit pkgs;});
formatter = forEachSystem (pkgs: pkgs.alejandra);
devShells = forEachSystem (pkgs: import ./shells {inherit pkgs;});
nixosModules = import ./modules/nixos;
homeManagerModules = import ./modules/home-manager;
overlays = import ./overlays {inherit inputs outputs;};
nixosConfigurations = let
pkgs = pkgsFor.x86_64-linux;
in {
ytnix = lib.nixosSystem {
specialArgs = {inherit inputs outputs;};
modules = [
{
nixpkgs = {inherit pkgs;};
}
);
in
{
packages = forEachSystem (pkgs: import ./pkgs { inherit pkgs; });
formatter = forEachSystem (pkgs: pkgs.alejandra);
devShells = forEachSystem (pkgs: import ./shells { inherit pkgs; });
nixosModules = import ./modules/nixos;
homeManagerModules = import ./modules/home-manager;
overlays = import ./overlays {inherit inputs outputs;};
nixosConfigurations = let
pkgs = pkgsFor.x86_64-linux;
in {
ytnix = lib.nixosSystem {
specialArgs = { inherit inputs outputs; };
modules = [
{
nixpkgs = {inherit pkgs;};
}
./hosts/ytnix
inputs.sops-nix.nixosModules.sops
];
};
};
homeConfigurations = {
"yt@ytnix" = home-manager.lib.homeManagerConfiguration {
pkgs = pkgsFor.x86_64-linux;
extraSpecialArgs = { inherit inputs outputs; };
modules = [
./home/yt/ytnix.nix
];
};
./hosts/ytnix
inputs.sops-nix.nixosModules.sops
];
};
};
homeConfigurations = {
"yt@ytnix" = home-manager.lib.homeManagerConfiguration {
pkgs = pkgsFor.x86_64-linux;
extraSpecialArgs = {inherit inputs outputs;};
modules = [
./home/yt/ytnix.nix
];
};
};
};
}

View file

@ -19,7 +19,7 @@
channel.enable = false;
optimise = {
automatic = true;
dates = [ "03:45" ];
dates = ["03:45"];
};
gc = {
automatic = true;
@ -33,9 +33,9 @@
sops.defaultSopsFormat = "yaml";
sops.age.keyFile = "/root/.config/sops/age/keys.txt";
sops.secrets = {
"borg/yt" = { };
"azure" = { };
"ntfy" = { };
"borg/yt" = {};
"azure" = {};
"ntfy" = {};
};
boot = {
@ -68,10 +68,10 @@
dns = "none";
wifi.backend = "iwd";
};
nameservers = [ "127.0.0.1" "::1" ];
nameservers = ["127.0.0.1" "::1"];
resolvconf.enable = true;
firewall = {
trustedInterfaces = [ "wgnord" ];
trustedInterfaces = ["wgnord"];
};
};
programs.nm-applet.enable = true;
@ -91,7 +91,7 @@
"bluez5.enable-sbc-xq" = true;
"bluez5.enable-msbc" = true;
"bluez5.enable-hw-volume" = true;
"bluez5.roles" = [ "a2dp_sink" "a2dp_source" ];
"bluez5.roles" = ["a2dp_sink" "a2dp_source"];
};
};
};
@ -100,7 +100,7 @@
users.users.yt = {
isNormalUser = true;
extraGroups = [ "wheel" "libvirtd" "docker" ];
extraGroups = ["wheel" "libvirtd" "docker"];
shell = pkgs.zsh;
};
@ -167,7 +167,7 @@
programs.sway.enable = true;
services.borgbackup.jobs.ytnixRsync = {
paths = [ "/root" "/home" "/var/lib" "/var/log" "/opt" "/etc" ];
paths = ["/root" "/home" "/var/lib" "/var/log" "/opt" "/etc"];
exclude = [
"**/.cache"
"**/node_modules"
@ -192,7 +192,7 @@
};
compression = "auto,zstd";
startAt = "daily";
extraCreateArgs = [ "--stats" ];
extraCreateArgs = ["--stats"];
# warnings are often not that serious
failOnWarnings = false;
postHook = ''
@ -209,8 +209,8 @@
snapshot_preserve_min = "2d";
snapshot_dir = "/snapshots";
subvolume = {
"/home" = { };
"/" = { };
"/home" = {};
"/" = {};
};
};
};

View file

@ -1,57 +1,58 @@
# Do not modify this file! It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
config,
lib,
pkgs,
modulesPath,
...
}: {
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{
device = "/dev/disk/by-uuid/17870658-6118-46af-837f-70c9175e09c3";
fsType = "btrfs";
options = [ "subvol=root" "compress=zstd" ];
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/17870658-6118-46af-837f-70c9175e09c3";
fsType = "btrfs";
options = ["subvol=root" "compress=zstd"];
};
boot.initrd.luks.devices."cryptroot".device = "/dev/disk/by-uuid/c6098a16-c8a6-4a97-8648-6f46ca919d13";
fileSystems."/home" =
{
device = "/dev/disk/by-uuid/17870658-6118-46af-837f-70c9175e09c3";
fsType = "btrfs";
options = [ "subvol=home" "compress=zstd" ];
};
fileSystems."/home" = {
device = "/dev/disk/by-uuid/17870658-6118-46af-837f-70c9175e09c3";
fsType = "btrfs";
options = ["subvol=home" "compress=zstd"];
};
fileSystems."/nix" =
{
device = "/dev/disk/by-uuid/17870658-6118-46af-837f-70c9175e09c3";
fsType = "btrfs";
options = [ "subvol=nix" "compress=zstd" "noatime" ];
};
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/17870658-6118-46af-837f-70c9175e09c3";
fsType = "btrfs";
options = ["subvol=nix" "compress=zstd" "noatime"];
};
fileSystems."/swap" =
{
device = "/dev/disk/by-uuid/17870658-6118-46af-837f-70c9175e09c3";
fsType = "btrfs";
options = [ "subvol=swap" ];
};
fileSystems."/swap" = {
device = "/dev/disk/by-uuid/17870658-6118-46af-837f-70c9175e09c3";
fsType = "btrfs";
options = ["subvol=swap"];
};
fileSystems."/boot" =
{
device = "/dev/disk/by-uuid/29B7-F46D";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/29B7-F46D";
fsType = "vfat";
options = ["fmask=0022" "dmask=0022"];
};
swapDevices = [{
device = "/swap/swapfile";
}];
swapDevices = [
{
device = "/swap/swapfile";
}
];
boot.resumeDevice = "/dev/disk/by-uuid/17870658-6118-46af-837f-70c9175e09c3";
boot.kernelParams = [ "resume_offset=53224704" ];
boot.kernelParams = ["resume_offset=53224704"];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,18 +1,16 @@
{ fetchurl
, stdenv
, lib
, buildFHSEnv
, appimageTools
, writeShellScript
, anki
, undmg
, zstd
, cacert
, commandLineArgs ? [ ]
,
}:
let
{
fetchurl,
stdenv,
lib,
buildFHSEnv,
appimageTools,
writeShellScript,
anki,
undmg,
zstd,
cacert,
commandLineArgs ? [],
}: let
pname = "anki-bin";
# Update hashes for both Linux and Darwin!
version = "24.11";
@ -37,7 +35,7 @@ let
unpacked = stdenv.mkDerivation {
inherit pname version;
nativeBuildInputs = [ zstd ];
nativeBuildInputs = [zstd];
src = sources.linux;
installPhase = ''
@ -55,7 +53,8 @@ let
};
meta = with lib; {
inherit (anki.meta)
inherit
(anki.meta)
license
homepage
description
@ -67,7 +66,7 @@ let
"x86_64-darwin"
"aarch64-darwin"
];
maintainers = with maintainers; [ mahmoudk1000 ];
maintainers = with maintainers; [mahmoudk1000];
};
passthru = {
@ -87,14 +86,12 @@ let
'';
# Dependencies of anki
targetPkgs =
pkgs:
(with pkgs; [
xorg.libxkbfile
xcb-util-cursor-HEAD
krb5
zstd
]);
targetPkgs = pkgs: (with pkgs; [
xorg.libxkbfile
xcb-util-cursor-HEAD
krb5
zstd
]);
runScript = writeShellScript "anki-wrapper.sh" ''
exec ${unpacked}/bin/anki ${lib.strings.escapeShellArgs commandLineArgs} "$@"
@ -114,22 +111,24 @@ let
}
);
in
if stdenv.hostPlatform.isLinux
then fhsEnvAnki
else
stdenv.mkDerivation {
inherit pname version passthru;
if stdenv.hostPlatform.isLinux then
fhsEnvAnki
else
stdenv.mkDerivation {
inherit pname version passthru;
src =
if stdenv.hostPlatform.isAarch64
then sources.darwin-aarch64
else sources.darwin-x86_64;
src = if stdenv.hostPlatform.isAarch64 then sources.darwin-aarch64 else sources.darwin-x86_64;
nativeBuildInputs = [undmg];
sourceRoot = ".";
nativeBuildInputs = [ undmg ];
sourceRoot = ".";
installPhase = ''
mkdir -p $out/Applications/
cp -a Anki.app $out/Applications/
'';
installPhase = ''
mkdir -p $out/Applications/
cp -a Anki.app $out/Applications/
'';
inherit meta;
}
inherit meta;
}

View file

@ -1,3 +1,3 @@
pkgs: {
anki-bin = pkgs.callPackage ./anki-bin.nix { };
anki-bin = pkgs.callPackage ./anki-bin.nix {};
}