nixfmt
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
Vivian 2023-05-04 13:08:10 +02:00
parent 3dfe40e4e2
commit 2c16870d66
53 changed files with 1671 additions and 1559 deletions

View file

@ -1,8 +1,5 @@
{ config, lib, pkgs, ... }: {
imports = [
./users
./modules
];
imports = [ ./users ./modules ];
# Clean /tmp on boot.
boot.tmp.cleanOnBoot = true;

View file

@ -2,7 +2,11 @@ _: {
# See also: https://blog.xirion.net/posts/nixos-proxmox-lxc/
# Supress systemd services that don't work (correctly) on LXC
systemd.suppressedSystemUnits = [ "dev-mqueue.mount" "sys-kernel-debug.mount" "sys-fs-fuse-connections.mount" ];
systemd.suppressedSystemUnits = [
"dev-mqueue.mount"
"sys-kernel-debug.mount"
"sys-fs-fuse-connections.mount"
];
# https://github.com/NixOS/nixpkgs/issues/157449#issuecomment-1459299764
boot.specialFileSystems."/run".options = [ "rshared" ];

View file

@ -2,9 +2,7 @@
with lib;
let cfg = config.themes.v.catppuccin;
in {
options.themes.v.catppuccin = {
enable = mkEnableOption "catppuccin";
};
options.themes.v.catppuccin = { enable = mkEnableOption "catppuccin"; };
config = let
theme = "Catppuccin-Pink-Dark";
cursorTheme = config.home.pointerCursor.name;

View file

@ -1,8 +1 @@
{ ... }: {
imports = [
./catppuccin.nix
./nvim.nix
./riff.nix
./vscode.nix
];
}
{ ... }: { imports = [ ./catppuccin.nix ./nvim.nix ./riff.nix ./vscode.nix ]; }

View file

@ -2,9 +2,7 @@
with lib;
let cfg = config.programs.v.nvim;
in {
options.programs.v.nvim = {
enable = mkEnableOption "nvim";
};
options.programs.v.nvim = { enable = mkEnableOption "nvim"; };
config = mkIf cfg.enable {
programs.nixvim = {
enable = true;

View file

@ -1,9 +1,3 @@
{ ... }: {
imports = [
./dns.nix
./flood.nix
./gnome
./unpackerr.nix
./vault.nix
];
imports = [ ./dns.nix ./flood.nix ./gnome ./unpackerr.nix ./vault.nix ];
}

View file

@ -9,13 +9,13 @@ let
ipv6Hosts = filter (hasAttr "ip6") flat_hosts;
localData = { hostname, realm, ip, ... }: ''"${hostname}.${realm}. A ${ip}"'';
local6Data = { hostname, realm, ip6, ... }: ''"${hostname}.${realm}. AAAA ${ip6}"'';
local6Data = { hostname, realm, ip6, ... }:
''"${hostname}.${realm}. AAAA ${ip6}"'';
ptrData = { hostname, realm, ip, ... }: ''"${ip} ${hostname}.${realm}"'';
ptr6Data = { hostname, realm, ip6, ... }: ''"${ip6} ${hostname}.${realm}"'';
cfg = config.services.v.dns;
in
{
in {
options.services.v.dns = {
enable = mkEnableOption "v.dns";
@ -50,7 +50,8 @@ in
use-syslog = "yes";
module-config = ''"validator iterator"'';
local-zone = map (localdomain: ''"${localdomain}}." transparent'') domains;
local-zone =
map (localdomain: ''"${localdomain}}." transparent'') domains;
local-data = (map localData ipv4Host) ++ (map local6Data ipv6Hosts);
local-data-ptr = (map ptrData ipv4Host) ++ (map ptr6Data ipv6Hosts);
@ -83,10 +84,7 @@ in
})
(mkIf (cfg.mode == "laptop") {
interface = [ "127.0.0.1" "::1" ];
access-control = [
"127.0.0.1/32 allow_snoop"
"::1 allow_snoop"
];
access-control = [ "127.0.0.1/32 allow_snoop" "::1 allow_snoop" ];
})
];
};

View file

@ -147,6 +147,7 @@ in {
};
# This is needed to create the dataDir with the correct permissions.
systemd.tmpfiles.rules = [ "d '${cfg.dataDir}' 0755 ${cfg.user} ${cfg.group} -" ];
systemd.tmpfiles.rules =
[ "d '${cfg.dataDir}' 0755 ${cfg.user} ${cfg.group} -" ];
};
}

View file

@ -48,8 +48,6 @@ in {
"image/x-icns" = "org.gnome.eog.desktop";
};
dconf.settings = {
"org/gnome/desktop/input-sources" = {
sources = [ (mkTuple [ "xkb" "us+altgr-intl" ]) ];

View file

@ -57,8 +57,7 @@ let
'';
};
};
in
{
in {
options.services.unpackerr = {
enable = mkEnableOption "unpackerr";
@ -258,8 +257,7 @@ in
after = [ "network.target" ];
description = "unpackerr system service";
# Filter out all unset variables else unpackerr complains
environment = filterAttrs (_n: v: stringLength v > 0)
{
environment = filterAttrs (_n: v: stringLength v > 0) {
# General options
UN_DEBUG = "${toString cfg.debug}";
UN_INTERVAL = "${cfg.interval}";

View file

@ -1,9 +1,5 @@
{ config, pkgs, lib, ... }:
{
imports = [
./laura.nix
./victor.nix
];
{ config, pkgs, lib, ... }: {
imports = [ ./laura.nix ./victor.nix ];
# Setup ZSH to use grml config
programs.zsh = {
@ -35,7 +31,8 @@
# Configure the root account
users.extraUsers.root = {
# Allow my SSH keys for logging in as root.
openssh.authorizedKeys.keys = config.users.extraUsers.victor.openssh.authorizedKeys.keys;
openssh.authorizedKeys.keys =
config.users.extraUsers.victor.openssh.authorizedKeys.keys;
# Also use zsh for root
shell = pkgs.zsh;
};

View file

@ -18,6 +18,7 @@
];
# Make me admin
extraGroups = [ "systemd-journal" "wheel" "networkmanager" "libvirtd" "dialout" ];
extraGroups =
[ "systemd-journal" "wheel" "networkmanager" "libvirtd" "dialout" ];
};
}

View file

@ -1,5 +1,4 @@
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }: {
networking.interfaces.eth0.useDHCP = true;
# mosh ssh

View file

@ -1,5 +1,4 @@
_:
{
_: {
system.stateVersion = "22.11";
networking.interfaces.eth0.useDHCP = true;

View file

@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{ pkgs, ... }: {
imports = [ ];
# This value determines the NixOS release from which the default

View file

@ -1,17 +1,19 @@
{ config, ... }:
let vs = config.vault-secrets.secrets; in
{
let vs = config.vault-secrets.secrets;
in {
system.stateVersion = "22.05";
networking.interfaces.eth0.useDHCP = true;
# the registry port and metrics port
networking.firewall.allowedTCPPorts = [ config.services.dockerRegistry.port 5001 ];
networking.firewall.allowedTCPPorts =
[ config.services.dockerRegistry.port 5001 ];
vault-secrets.secrets.docker-registry = { };
# Sets the minio user and password
systemd.services.docker-registry.serviceConfig.EnvironmentFile = "${vs.docker-registry}/environment";
systemd.services.docker-registry.serviceConfig.EnvironmentFile =
"${vs.docker-registry}/environment";
services.dockerRegistry = {
enable = true;

View file

@ -1,17 +1,19 @@
{ config, ... }:
let vs = config.vault-secrets.secrets; in
{
let vs = config.vault-secrets.secrets;
in {
system.stateVersion = "22.05";
networking.interfaces.eth0.useDHCP = true;
# the registry port and metrics port
networking.firewall.allowedTCPPorts = [ config.services.dockerRegistry.port 5001 ];
networking.firewall.allowedTCPPorts =
[ config.services.dockerRegistry.port 5001 ];
vault-secrets.secrets.docker-registry = { };
# Sets the minio user and password
systemd.services.docker-registry.serviceConfig.EnvironmentFile = "${vs.docker-registry}/environment";
systemd.services.docker-registry.serviceConfig.EnvironmentFile =
"${vs.docker-registry}/environment";
services.dockerRegistry = {
enable = true;
@ -34,15 +36,13 @@ let vs = config.vault-secrets.secrets; in
http.debug.prometheus.enabled = true;
# Webhooks
notifications.endpoints = [
{
notifications.endpoints = [{
name = "keel";
url = "http://10.10.10.17:9300/v1/webhooks/registry";
timeout = "500ms";
treshold = 5;
backoff = "1s";
}
];
}];
};
};
}

View file

@ -1,5 +1,4 @@
_:
{
_: {
system.stateVersion = "21.05";
networking.interfaces.eth0.useDHCP = true;

View file

@ -4,22 +4,28 @@
{ lib, modulesPath, ... }:
{
imports =
[ (modulesPath + "/profiles/qemu-guest.nix")
];
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
boot.initrd.availableKernelModules = [
"uhci_hcd"
"ehci_pci"
"ahci"
"virtio_pci"
"virtio_scsi"
"sd_mod"
"sr_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/749c02fd-209d-4974-917e-38b749d10ec2";
fileSystems."/" = {
device = "/dev/disk/by-uuid/749c02fd-209d-4974-917e-38b749d10ec2";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/D021-72EB";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/D021-72EB";
fsType = "vfat";
};

View file

@ -1,6 +1,5 @@
{ config, pkgs, ... }:
let
vs = config.vault-secrets.secrets;
let vs = config.vault-secrets.secrets;
in {
system.stateVersion = "22.11";

View file

@ -28,7 +28,6 @@ in {
security.acme.acceptTerms = true;
security.acme.preliminarySelfsigned = true;
services.nginx = {
enable = true;
recommendedProxySettings = true;

View file

@ -31,9 +31,7 @@
# LOG_LEVEL = "debug";
TZ = "Europe/Amsterdam";
};
ports = [
"5055:5055"
];
ports = [ "5055:5055" ];
volumes = [ "/var/lib/overseerr/config:/app/config" ];
};
};

View file

@ -1,5 +1,4 @@
_:
{
_: {
networking.interfaces.eth0.useDHCP = true;
system.stateVersion = "22.11";
@ -15,9 +14,7 @@ _:
containers = {
flaresolverr = {
image = "flaresolverr/flaresolverr:v3.1.2";
ports = [
"8191:8191"
];
ports = [ "8191:8191" ];
};
};
};

View file

@ -1,12 +1,11 @@
{ config, lib, pkgs, ... }:
{
{ config, lib, pkgs, ... }: {
services.rtorrent = {
enable = true;
port = 54945; # Port Forwarded in mullvad
downloadDir = "/mnt/storage/torrents/r";
package = pkgs.jesec-rtorrent;
configText = let cfg = config.services.rtorrent; in
pkgs.lib.mkForce ''
configText = let cfg = config.services.rtorrent;
in pkgs.lib.mkForce ''
# rTorrent runtime directory (cfg.basedir) [default: "$HOME/.local/share/rtorrent"]
method.insert = cfg.basedir, private|const|string, (cat,"${cfg.dataDir}/")

View file

@ -1,5 +1,4 @@
_:
{
_: {
system.stateVersion = "21.05";
networking.interfaces.eth0.useDHCP = true;

View file

@ -1,5 +1,4 @@
{ pkgs, lib, ... }:
{
{ pkgs, lib, ... }: {
system.stateVersion = "21.05";
networking.interfaces.eth0.useDHCP = true;

View file

@ -1,7 +1,6 @@
{ config, ... }:
let vs = config.vault-secrets.secrets;
in
{
in {
networking.interfaces.eth0.useDHCP = true;
fileSystems."/mnt/storage" = {

View file

@ -6,7 +6,8 @@
{
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
boot.initrd.availableKernelModules = [ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
boot.initrd.availableKernelModules =
[ "ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
@ -16,6 +17,7 @@
fsType = "ext4";
};
swapDevices = [{ device = "/dev/disk/by-uuid/63d90b92-cdde-4795-a3ab-9566ae88f43d"; }];
swapDevices =
[{ device = "/dev/disk/by-uuid/63d90b92-cdde-4795-a3ab-9566ae88f43d"; }];
}

View file

@ -1,5 +1,4 @@
{ pkgs, ... }:
{
{ pkgs, ... }: {
imports = [ ];
# This value determines the NixOS release from which the default

View file

@ -3,10 +3,8 @@
# and in the NixOS manual (accessible by running nixos-help).
{ lib, config, pkgs, ... }:
let
vs = config.vault-secrets.secrets;
in
{
let vs = config.vault-secrets.secrets;
in {
imports = [ ];
# This value determines the NixOS release from which the default
@ -22,7 +20,8 @@ in
environment.noXlibs = lib.mkForce false;
networking.firewall.allowedTCPPorts = [ config.services.gitea.settings.server.HTTP_PORT ];
networking.firewall.allowedTCPPorts =
[ config.services.gitea.settings.server.HTTP_PORT ];
services.openssh.startWhenNeeded = false;
@ -37,10 +36,8 @@ in
};
system.activationScripts.gitea-theme =
let
target_dir = "${config.services.gitea.stateDir}/custom/public/css/";
in
lib.stringAfter [ "var" ] ''
let target_dir = "${config.services.gitea.stateDir}/custom/public/css/";
in lib.stringAfter [ "var" ] ''
mkdir -p ${target_dir}
ln -sf ${pkgs.v.gitea-agatheme} "${target_dir}/theme-agatheme.css"
'';
@ -54,9 +51,7 @@ in
mailerPasswordFile = "${vs.gitea}/mailPassword";
settings = {
actions = {
"ENABLED" = true;
};
actions = { "ENABLED" = true; };
repository = {
"ENABLE_PUSH_CREATE_USER" = true;
"DEFAULT_PUSH_CREATE_PRIVATE" = false;

View file

@ -3,8 +3,8 @@
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
let vs = config.vault-secrets.secrets; in
{
let vs = config.vault-secrets.secrets;
in {
imports = [ ];
# This value determines the NixOS release from which the default
@ -22,9 +22,7 @@ let vs = config.vault-secrets.secrets; in
10.42.42.6 vault.olympus
'';
vault-secrets.secrets.mailserver = {
services = [ "dovecot2" "postfix" ];
};
vault-secrets.secrets.mailserver = { services = [ "dovecot2" "postfix" ]; };
mailserver = {
enable = true;
@ -36,7 +34,8 @@ let vs = config.vault-secrets.secrets; in
# People
"v@0x76.dev" = {
hashedPasswordFile = "${vs.mailserver}/v@0x76.dev";
aliases = [ "v@meowy.tech" "postmaster@0x76.dev" "postmaster@meowy.tech" ];
aliases =
[ "v@meowy.tech" "postmaster@0x76.dev" "postmaster@meowy.tech" ];
};
"laura@meowy.tech" = {
hashedPasswordFile = "${vs.mailserver}/laura@meowy.tech";
@ -79,7 +78,8 @@ let vs = config.vault-secrets.secrets; in
services.roundcube = {
enable = true;
package = pkgs.roundcube.withPlugins (plugins: [ plugins.persistent_login ]);
package =
pkgs.roundcube.withPlugins (plugins: [ plugins.persistent_login ]);
plugins = [
"archive"
# "enigma"
@ -98,9 +98,7 @@ let vs = config.vault-secrets.secrets; in
'';
};
services.nginx = {
enable = true;
};
services.nginx = { enable = true; };
security.acme.acceptTerms = true;
security.acme.defaults.email = "v@0x76.dev";

View file

@ -2,8 +2,7 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ lib, pkgs, ... }:
{
{ lib, pkgs, ... }: {
imports = [ ];
# This value determines the NixOS release from which the default

View file

@ -4,8 +4,7 @@
{ config, pkgs, ... }:
let mosquittoPort = 1883;
in
{
in {
imports = [ ];
# This value determines the NixOS release from which the default

View file

@ -20,7 +20,8 @@
networking.firewall.allowedTCPPorts = [ 80 ];
services.ntfy-sh = let datadir = "/var/lib/ntfy"; in {
services.ntfy-sh = let datadir = "/var/lib/ntfy";
in {
enable = true;
settings = {
base-url = "https://ntfy.0x76.dev";

View file

@ -3,8 +3,8 @@
# and in the NixOS manual (accessible by running nixos-help).
{ config, ... }:
let vs = config.vault-secrets.secrets; in
{
let vs = config.vault-secrets.secrets;
in {
imports = [ ];
# This value determines the NixOS release from which the default
@ -16,9 +16,7 @@ let vs = config.vault-secrets.secrets; in
system.stateVersion = "22.11"; # Did you read the comment?
# Additional packages
networking.firewall.allowedTCPPorts = [
config.services.outline.port
];
networking.firewall.allowedTCPPorts = [ config.services.outline.port ];
vault-secrets.secrets.outline = {
inherit (config.services.outline) user group;

View file

@ -7,8 +7,7 @@ let
vs = config.vault-secrets.secrets;
port = 8008;
metricsPort = 9000;
in
{
in {
imports = [ ];
# This value determines the NixOS release from which the default
@ -53,8 +52,8 @@ in
"${vs.synapse}/email_password" # Also contains the rest of the email config
];
settings =
let log_file = pkgs.writeText "log.yml" ''
settings = let
log_file = pkgs.writeText "log.yml" ''
version: 1
formatters:
@ -74,17 +73,15 @@ loggers:
synapse:
level: INFO
handlers: [file]
''; in
{
'';
in {
server_name = "meowy.tech";
enable_registration = true;
public_baseurl = "https://chat.meowy.tech";
enable_metrics = true;
max_upload_size = "100M";
registration_requires_token = true;
media_retention = {
remote_media_lifetime = "90d";
};
media_retention = { remote_media_lifetime = "90d"; };
log_config = "${log_file}";
listeners = [
{
@ -93,24 +90,20 @@ loggers:
type = "http";
tls = false;
x_forwarded = true;
resources = [
{
resources = [{
names = [ "client" "federation" ];
compress = true;
}
];
}];
}
{
port = metricsPort;
bind_addresses = [ "0.0.0.0" ];
type = "metrics";
tls = false;
resources = [
{
resources = [{
names = [ "metrics" ];
compress = false;
}
];
}];
}
];
};

View file

@ -6,8 +6,7 @@
let
vmPort = 8428;
vs = config.vault-secrets.secrets;
in
{
in {
imports = [ ];
# This value determines the NixOS release from which the default
@ -21,7 +20,8 @@ in
# Additional packages
environment.systemPackages = with pkgs; [ ];
networking.firewall.allowedTCPPorts = [ vmPort config.services.grafana.settings.server.http_port ];
networking.firewall.allowedTCPPorts =
[ vmPort config.services.grafana.settings.server.http_port ];
networking.firewall.allowedUDPPorts = [ vmPort ];
services.victoriametrics = {
@ -42,12 +42,10 @@ in
scrape_configs = [
{
job_name = "nginx";
static_configs = [
{
static_configs = [{
targets = [ "nginx.olympus:9113" ];
labels.app = "nginx";
}
];
}];
}
{
job_name = "synapse";

View file

@ -4,29 +4,27 @@
{ config, lib, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" "sdhci_pci" ];
boot.initrd.availableKernelModules =
[ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" "sdhci_pci" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/c184866a-9a53-4a9f-9a1f-493792af7ea9";
fileSystems."/" = {
device = "/dev/disk/by-uuid/c184866a-9a53-4a9f-9a1f-493792af7ea9";
fsType = "btrfs";
options = [ "subvol=@" ];
};
fileSystems."/boot/efi" =
{ device = "/dev/disk/by-uuid/5BB8-7503";
fileSystems."/boot/efi" = {
device = "/dev/disk/by-uuid/5BB8-7503";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/bedb5b75-578e-441f-a9eb-2ecff1f4cfca"; }
];
[{ device = "/dev/disk/by-uuid/bedb5b75-578e-441f-a9eb-2ecff1f4cfca"; }];
# 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
@ -36,6 +34,7 @@
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.cpu.amd.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
# high-resolution display
}

View file

@ -3,11 +3,8 @@
# and in the NixOS manual (accessible by running nixos-help).
{ pkgs, inputs, ... }: {
imports = [
../../../common/desktop
./hardware-configuration.nix
./hardware.nix
];
imports =
[ ../../../common/desktop ./hardware-configuration.nix ./hardware.nix ];
# Bootloader.
boot = {

View file

@ -4,29 +4,27 @@
{ config, lib, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.availableKernelModules =
[ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/947a98af-9a4e-4811-a2ca-9aa00b319e9c";
fileSystems."/" = {
device = "/dev/disk/by-uuid/947a98af-9a4e-4811-a2ca-9aa00b319e9c";
fsType = "btrfs";
options = [ "subvol=@" ];
};
fileSystems."/boot/efi" =
{ device = "/dev/disk/by-uuid/D883-F146";
fileSystems."/boot/efi" = {
device = "/dev/disk/by-uuid/D883-F146";
fsType = "vfat";
};
swapDevices =
[ { device = "/dev/disk/by-uuid/a99402e1-6f2a-4c4b-b69f-aae2fd13ffc0"; }
];
[{ device = "/dev/disk/by-uuid/a99402e1-6f2a-4c4b-b69f-aae2fd13ffc0"; }];
# 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
@ -37,5 +35,6 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.cpu.intel.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -4,35 +4,34 @@
{ config, lib, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "rtsx_pci_sdmmc" ];
boot.initrd.availableKernelModules =
[ "xhci_pci" "ahci" "nvme" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/d4f56e5b-2509-4e63-8324-65a35c71e90c";
fileSystems."/" = {
device = "/dev/disk/by-uuid/d4f56e5b-2509-4e63-8324-65a35c71e90c";
fsType = "btrfs";
options = [ "subvol=@" ];
};
fileSystems."/nix" =
{ device = "/dev/disk/by-uuid/d4f56e5b-2509-4e63-8324-65a35c71e90c";
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/d4f56e5b-2509-4e63-8324-65a35c71e90c";
fsType = "btrfs";
options = [ "subvol=@/nix" ];
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/d4f56e5b-2509-4e63-8324-65a35c71e90c";
fileSystems."/home" = {
device = "/dev/disk/by-uuid/d4f56e5b-2509-4e63-8324-65a35c71e90c";
fsType = "btrfs";
options = [ "subvol=@home" ];
};
fileSystems."/boot/efi" =
{ device = "/dev/disk/by-uuid/D478-6F66";
fileSystems."/boot/efi" = {
device = "/dev/disk/by-uuid/D478-6F66";
fsType = "vfat";
};
@ -48,5 +47,6 @@
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
hardware.cpu.intel.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -1,5 +1,4 @@
_:
{
_: {
services.v.dns = {
enable = true;
openFirewall = false;
@ -30,21 +29,11 @@ _:
ca_cert="/etc/ssl/certs/ca-bundle.crt"
'';
};
"Pikachu 5G" = {
psk = "@PIKACHU_PASSWORD@";
};
"sha256('yeet')" = {
psk = "@SHA256_PASSWORD@";
};
"wired" = {
psk = "@WIRED_PASSWORD@";
};
"meowy hotspot" = {
psk = "@HOTSPOT_PASSWORD@";
};
"WiFi Roest" = {
psk = "@WIFI_ROEST_PASSWORD@";
};
"Pikachu 5G" = { psk = "@PIKACHU_PASSWORD@"; };
"sha256('yeet')" = { psk = "@SHA256_PASSWORD@"; };
"wired" = { psk = "@WIRED_PASSWORD@"; };
"meowy hotspot" = { psk = "@HOTSPOT_PASSWORD@"; };
"WiFi Roest" = { psk = "@WIFI_ROEST_PASSWORD@"; };
};
};

View file

@ -11,9 +11,7 @@ let
module = {
system.stateVersion = "22.11";
boot.supportedFilesystems = [ "btrfs" "ext4" ];
environment.systemPackages = with pkgs; [
git
];
environment.systemPackages = with pkgs; [ git ];
};
in {
boot.loader.systemd-boot = {
@ -22,7 +20,9 @@ in {
title Rescue Boot
linux /rescue-kernel
initrd /rescue-initrd
options init=${netboot.config.system.build.toplevel}/init ${toString netboot.config.boot.kernelParams}
options init=${netboot.config.system.build.toplevel}/init ${
toString netboot.config.boot.kernelParams
}
'';
};

View file

@ -1,4 +1,5 @@
{ stdenvNoCC, fetchFromGitHub }: stdenvNoCC.mkDerivation rec {
{ stdenvNoCC, fetchFromGitHub }:
stdenvNoCC.mkDerivation rec {
pname = "dnd-5e-latex-template";
version = "0.8.0";
tlType = "run";
@ -22,7 +23,5 @@
runHook postInstall
'';
meta = {
description = "DnD 5e latex template";
};
meta = { description = "DnD 5e latex template"; };
}

View file

@ -1,9 +1,11 @@
{ stdenvNoCC, fetchurl }: stdenvNoCC.mkDerivation {
{ stdenvNoCC, fetchurl }:
stdenvNoCC.mkDerivation {
pname = "gitea-agatheme";
version = "1.2";
src = fetchurl {
url = "https://git.lain.faith/attachments/290e2304-92a3-4991-8703-fbbf52f31340";
url =
"https://git.lain.faith/attachments/290e2304-92a3-4991-8703-fbbf52f31340";
sha256 = "424f4e232c7d759485cdf1bcde9edde50f2992cf6bde61c21f71eae03a905543";
};

View file

@ -1,11 +1,9 @@
{ lib, stdenv, nodejs-slim, bundlerEnv, nixosTests
, yarn, callPackage, imagemagick, ffmpeg, file, ruby_3_0, writeShellScript
, fetchYarnDeps, fixup_yarn_lock
{ lib, stdenv, nodejs-slim, bundlerEnv, nixosTests, yarn, callPackage
, imagemagick, ffmpeg, file, ruby_3_0, writeShellScript, fetchYarnDeps
, fixup_yarn_lock
# Allow building a fork or custom version of Mastodon:
, pname ? "mastodon"
, version ? import ./version.nix
, srcOverride ? null
, pname ? "mastodon", version ? import ./version.nix, srcOverride ? null
, dependenciesDir ? ./. # Should contain gemset.nix, yarn.nix and package.json.
}:
@ -14,7 +12,8 @@ stdenv.mkDerivation rec {
# Using overrideAttrs on src does not build the gems and modules with the overridden src.
# Putting the callPackage up in the arguments list also does not work.
src = if srcOverride != null then srcOverride else callPackage ./source.nix {};
src =
if srcOverride != null then srcOverride else callPackage ./source.nix { };
mastodon-gems = bundlerEnv {
name = "${pname}-gems-${version}";
@ -46,7 +45,13 @@ stdenv.mkDerivation rec {
sha256 = "sha256-5KmPgKE1QRPoTjeSYidKt/z9vzWzTOoJVr5dNtofKJY=";
};
nativeBuildInputs = [ fixup_yarn_lock nodejs-slim yarn mastodon-gems mastodon-gems.wrappedRuby ];
nativeBuildInputs = [
fixup_yarn_lock
nodejs-slim
yarn
mastodon-gems
mastodon-gems.wrappedRuby
];
RAILS_ENV = "production";
NODE_ENV = "production";
@ -118,7 +123,8 @@ stdenv.mkDerivation rec {
};
meta = with lib; {
description = "Self-hosted, globally interconnected microblogging software based on ActivityPub";
description =
"Self-hosted, globally interconnected microblogging software based on ActivityPub";
homepage = "https://joinmastodon.org";
license = licenses.agpl3Plus;
platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];

View file

@ -11,7 +11,14 @@
version = "6.1.7.3";
};
actionmailbox = {
dependencies = ["actionpack" "activejob" "activerecord" "activestorage" "activesupport" "mail"];
dependencies = [
"actionpack"
"activejob"
"activerecord"
"activestorage"
"activesupport"
"mail"
];
groups = [ "default" ];
platforms = [ ];
source = {
@ -22,7 +29,14 @@
version = "6.1.7.3";
};
actionmailer = {
dependencies = ["actionpack" "actionview" "activejob" "activesupport" "mail" "rails-dom-testing"];
dependencies = [
"actionpack"
"actionview"
"activejob"
"activesupport"
"mail"
"rails-dom-testing"
];
groups = [ "default" "development" ];
platforms = [ ];
source = {
@ -33,8 +47,16 @@
version = "6.1.7.3";
};
actionpack = {
dependencies = ["actionview" "activesupport" "rack" "rack-test" "rails-dom-testing" "rails-html-sanitizer"];
groups = ["default" "development" "pam_authentication" "production" "test"];
dependencies = [
"actionview"
"activesupport"
"rack"
"rack-test"
"rails-dom-testing"
"rails-html-sanitizer"
];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -44,7 +66,13 @@
version = "6.1.7.3";
};
actiontext = {
dependencies = ["actionpack" "activerecord" "activestorage" "activesupport" "nokogiri"];
dependencies = [
"actionpack"
"activerecord"
"activestorage"
"activesupport"
"nokogiri"
];
groups = [ "default" ];
platforms = [ ];
source = {
@ -55,8 +83,15 @@
version = "6.1.7.3";
};
actionview = {
dependencies = ["activesupport" "builder" "erubi" "rails-dom-testing" "rails-html-sanitizer"];
groups = ["default" "development" "pam_authentication" "production" "test"];
dependencies = [
"activesupport"
"builder"
"erubi"
"rails-dom-testing"
"rails-html-sanitizer"
];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -66,7 +101,8 @@
version = "6.1.7.3";
};
active_model_serializers = {
dependencies = ["actionpack" "activemodel" "case_transform" "jsonapi-renderer"];
dependencies =
[ "actionpack" "activemodel" "case_transform" "jsonapi-renderer" ];
groups = [ "default" ];
platforms = [ ];
source = {
@ -110,7 +146,14 @@
version = "6.1.7.3";
};
activestorage = {
dependencies = ["actionpack" "activejob" "activerecord" "activesupport" "marcel" "mini_mime"];
dependencies = [
"actionpack"
"activejob"
"activerecord"
"activesupport"
"marcel"
"mini_mime"
];
groups = [ "default" ];
platforms = [ ];
source = {
@ -122,7 +165,8 @@
};
activesupport = {
dependencies = [ "concurrent-ruby" "i18n" "minitest" "tzinfo" "zeitwerk" ];
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -246,7 +290,8 @@
version = "1.752.0";
};
aws-sdk-core = {
dependencies = ["aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath"];
dependencies =
[ "aws-eventstream" "aws-partitions" "aws-sigv4" "jmespath" ];
groups = [ "default" ];
platforms = [ ];
source = {
@ -311,7 +356,14 @@
version = "2.9.1";
};
better_html = {
dependencies = ["actionview" "activesupport" "ast" "erubi" "parser" "smart_properties"];
dependencies = [
"actionview"
"activesupport"
"ast"
"erubi"
"parser"
"smart_properties"
];
groups = [ "default" "development" "test" ];
platforms = [ ];
source = {
@ -395,7 +447,8 @@
version = "0.1.3";
};
builder = {
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -471,7 +524,16 @@
version = "2.0.2";
};
capybara = {
dependencies = ["addressable" "matrix" "mini_mime" "nokogiri" "rack" "rack-test" "regexp_parser" "xpath"];
dependencies = [
"addressable"
"matrix"
"mini_mime"
"nokogiri"
"rack"
"rack-test"
"regexp_parser"
"xpath"
];
groups = [ "test" ];
platforms = [ ];
source = {
@ -574,7 +636,8 @@
version = "0.1";
};
concurrent-ruby = {
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -616,7 +679,8 @@
version = "0.4.5";
};
crass = {
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -668,7 +732,8 @@
version = "4.9.2";
};
devise-two-factor = {
dependencies = ["activesupport" "attr_encrypted" "devise" "railties" "rotp"];
dependencies =
[ "activesupport" "attr_encrypted" "devise" "railties" "rotp" ];
groups = [ "default" ];
platforms = [ ];
source = {
@ -829,7 +894,8 @@
version = "3.0.0";
};
erubi = {
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -881,7 +947,19 @@
version = "3.2.0";
};
faraday = {
dependencies = ["faraday-em_http" "faraday-em_synchrony" "faraday-excon" "faraday-httpclient" "faraday-multipart" "faraday-net_http" "faraday-net_http_persistent" "faraday-patron" "faraday-rack" "faraday-retry" "ruby2_keywords"];
dependencies = [
"faraday-em_http"
"faraday-em_synchrony"
"faraday-excon"
"faraday-httpclient"
"faraday-multipart"
"faraday-net_http"
"faraday-net_http_persistent"
"faraday-patron"
"faraday-rack"
"faraday-retry"
"ruby2_keywords"
];
groups = [ "default" ];
platforms = [ ];
source = {
@ -1214,7 +1292,8 @@
version = "4.3.4";
};
http = {
dependencies = ["addressable" "http-cookie" "http-form_data" "llhttp-ffi"];
dependencies =
[ "addressable" "http-cookie" "http-form_data" "llhttp-ffi" ];
groups = [ "default" ];
platforms = [ ];
source = {
@ -1278,7 +1357,8 @@
};
i18n = {
dependencies = [ "concurrent-ruby" ];
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -1288,7 +1368,18 @@
version = "1.12.0";
};
i18n-tasks = {
dependencies = ["activesupport" "ast" "better_html" "erubi" "highline" "i18n" "parser" "rails-i18n" "rainbow" "terminal-table"];
dependencies = [
"activesupport"
"ast"
"better_html"
"erubi"
"highline"
"i18n"
"parser"
"rails-i18n"
"rainbow"
"terminal-table"
];
groups = [ "development" "test" ];
platforms = [ ];
source = {
@ -1360,7 +1451,14 @@
version = "1.15.3";
};
json-ld = {
dependencies = ["htmlentities" "json-canonicalization" "link_header" "multi_json" "rack" "rdf"];
dependencies = [
"htmlentities"
"json-canonicalization"
"link_header"
"multi_json"
"rack"
"rdf"
];
groups = [ "default" ];
platforms = [ ];
source = {
@ -1413,7 +1511,12 @@
version = "2.7.0";
};
kaminari = {
dependencies = ["activesupport" "kaminari-actionview" "kaminari-activerecord" "kaminari-core"];
dependencies = [
"activesupport"
"kaminari-actionview"
"kaminari-activerecord"
"kaminari-core"
];
groups = [ "default" ];
platforms = [ ];
source = {
@ -1456,7 +1559,8 @@
version = "1.2.2";
};
kt-paperclip = {
dependencies = ["activemodel" "activesupport" "marcel" "mime-types" "terrapin"];
dependencies =
[ "activemodel" "activesupport" "marcel" "mime-types" "terrapin" ];
groups = [ "default" ];
platforms = [ ];
source = {
@ -1535,7 +1639,8 @@
};
loofah = {
dependencies = [ "crass" "nokogiri" ];
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -1608,7 +1713,8 @@
version = "1.0.1";
};
method_source = {
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -1649,7 +1755,8 @@
version = "1.1.2";
};
mini_portile2 = {
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -1659,7 +1766,8 @@
version = "2.8.1";
};
minitest = {
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -1796,7 +1904,8 @@
};
nokogiri = {
dependencies = [ "mini_portile2" "racc" ];
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -1806,7 +1915,8 @@
version = "1.14.3";
};
nsa = {
dependencies = ["activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby"];
dependencies =
[ "activesupport" "concurrent-ruby" "sidekiq" "statsd-ruby" ];
groups = [ "default" ];
platforms = [ ];
source = {
@ -1882,7 +1992,18 @@
version = "0.6.1";
};
openid_connect = {
dependencies = ["activemodel" "attr_required" "json-jwt" "net-smtp" "rack-oauth2" "swd" "tzinfo" "validate_email" "validate_url" "webfinger"];
dependencies = [
"activemodel"
"attr_required"
"json-jwt"
"net-smtp"
"rack-oauth2"
"swd"
"tzinfo"
"validate_email"
"validate_url"
"webfinger"
];
groups = [ "default" ];
platforms = [ ];
source = {
@ -2091,7 +2212,8 @@
version = "1.4.0";
};
racc = {
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -2101,7 +2223,8 @@
version = "1.6.2";
};
rack = {
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -2133,7 +2256,8 @@
version = "2.0.1";
};
rack-oauth2 = {
dependencies = ["activesupport" "attr_required" "httpclient" "json-jwt" "rack"];
dependencies =
[ "activesupport" "attr_required" "httpclient" "json-jwt" "rack" ];
groups = [ "default" ];
platforms = [ ];
source = {
@ -2156,7 +2280,8 @@
};
rack-test = {
dependencies = [ "rack" ];
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -2166,7 +2291,21 @@
version = "2.1.0";
};
rails = {
dependencies = ["actioncable" "actionmailbox" "actionmailer" "actionpack" "actiontext" "actionview" "activejob" "activemodel" "activerecord" "activestorage" "activesupport" "railties" "sprockets-rails"];
dependencies = [
"actioncable"
"actionmailbox"
"actionmailer"
"actionpack"
"actiontext"
"actionview"
"activejob"
"activemodel"
"activerecord"
"activestorage"
"activesupport"
"railties"
"sprockets-rails"
];
groups = [ "default" ];
platforms = [ ];
source = {
@ -2189,7 +2328,8 @@
};
rails-dom-testing = {
dependencies = [ "activesupport" "nokogiri" ];
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -2200,7 +2340,8 @@
};
rails-html-sanitizer = {
dependencies = [ "loofah" ];
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -2234,8 +2375,10 @@
version = "0.6.6";
};
railties = {
dependencies = ["actionpack" "activesupport" "method_source" "rake" "thor"];
groups = ["default" "development" "pam_authentication" "production" "test"];
dependencies =
[ "actionpack" "activesupport" "method_source" "rake" "thor" ];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -2255,7 +2398,8 @@
version = "3.1.1";
};
rake = {
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -2445,7 +2589,15 @@
version = "3.12.5";
};
rspec-rails = {
dependencies = ["actionpack" "activesupport" "railties" "rspec-core" "rspec-expectations" "rspec-mocks" "rspec-support"];
dependencies = [
"actionpack"
"activesupport"
"railties"
"rspec-core"
"rspec-expectations"
"rspec-mocks"
"rspec-support"
];
groups = [ "development" "test" ];
platforms = [ ];
source = {
@ -2498,7 +2650,17 @@
version = "0.6.0";
};
rubocop = {
dependencies = ["json" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
dependencies = [
"json"
"parallel"
"parser"
"rainbow"
"regexp_parser"
"rexml"
"rubocop-ast"
"ruby-progressbar"
"unicode-display_width"
];
groups = [ "development" "test" ];
platforms = [ ];
source = {
@ -2682,7 +2844,8 @@
version = "5.0.2";
};
sidekiq-unique-jobs = {
dependencies = ["brpoplpush-redis_script" "concurrent-ruby" "redis" "sidekiq" "thor"];
dependencies =
[ "brpoplpush-redis_script" "concurrent-ruby" "redis" "sidekiq" "thor" ];
groups = [ "default" ];
platforms = [ ];
source = {
@ -2884,7 +3047,8 @@
version = "0.6.0";
};
thor = {
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -2989,7 +3153,8 @@
};
tzinfo = {
dependencies = [ "concurrent-ruby" ];
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];
@ -3084,7 +3249,16 @@
version = "1.2.9";
};
webauthn = {
dependencies = ["android_key_attestation" "awrence" "bindata" "cbor" "cose" "openssl" "safety_net_attestation" "tpm-key_attestation"];
dependencies = [
"android_key_attestation"
"awrence"
"bindata"
"cbor"
"cose"
"openssl"
"safety_net_attestation"
"tpm-key_attestation"
];
groups = [ "default" ];
platforms = [ ];
source = {
@ -3193,7 +3367,8 @@
version = "3.2.0";
};
zeitwerk = {
groups = ["default" "development" "pam_authentication" "production" "test"];
groups =
[ "default" "development" "pam_authentication" "production" "test" ];
platforms = [ ];
source = {
remotes = [ "https://rubygems.org" ];

View file

@ -1,5 +1,6 @@
# This file was generated by pkgs.mastodon.updateScript.
{ fetchgit, applyPatches }: let
{ fetchgit, applyPatches }:
let
src = fetchgit {
url = "https://github.com/glitch-soc/mastodon.git";
rev = "c18884de32b60152600ec95ed42cdf9c00fdab7a";

View file

@ -1,24 +1,22 @@
{ runCommand
, lib
, makeWrapper
, yarn2nix
, bundix
, coreutils
, diffutils
, nix-prefetch-git
, gnused
, jq
}:
{ runCommand, lib, makeWrapper, yarn2nix, bundix, coreutils, diffutils
, nix-prefetch-git, gnused, jq }:
let
binPath = lib.makeBinPath [ yarn2nix bundix coreutils diffutils nix-prefetch-git gnused jq ];
in
runCommand "mastodon-update-script"
{
binPath = lib.makeBinPath [
yarn2nix
bundix
coreutils
diffutils
nix-prefetch-git
gnused
jq
];
in runCommand "mastodon-update-script" {
nativeBuildInputs = [ makeWrapper ];
meta = {
maintainers = with lib.maintainers; [ happy-river ];
description = "Utility to generate Nix expressions for Mastodon's dependencies";
description =
"Utility to generate Nix expressions for Mastodon's dependencies";
platforms = lib.platforms.unix;
};
} ''

View file

@ -6,9 +6,7 @@
# use the latest Linux kernel
boot.kernelPackages = pkgs.linuxPackages_latest;
environment.systemPackages = with pkgs; [
git
];
environment.systemPackages = with pkgs; [ git ];
# Needed for https://github.com/NixOS/nixpkgs/issues/58959
boot.supportedFilesystems = lib.mkForce [ "btrfs" "ext4" ];

View file

@ -1,15 +1,12 @@
{ pkgs, modulesPath, lib, ... }: {
imports = [
"${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix"
];
imports = [ "${modulesPath}/installer/cd-dvd/installation-cd-minimal.nix" ];
# use the latest Linux kernel
boot.kernelPackages = pkgs.linuxPackages_latest;
environment.systemPackages = with pkgs; [
git
];
environment.systemPackages = with pkgs; [ git ];
# Needed for https://github.com/NixOS/nixpkgs/issues/58959
boot.supportedFilesystems = lib.mkForce [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs" ];
boot.supportedFilesystems =
lib.mkForce [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "ntfs" "cifs" ];
}