nixfmt-rfc-style now

This commit is contained in:
Daylin Morgan 2024-05-06 14:32:00 -05:00
parent 9174ac3198
commit ee519f94c9
Signed by: daylin
GPG key ID: 950D13E9719334AD
49 changed files with 393 additions and 309 deletions

View file

@ -3,10 +3,9 @@
pkgs,
enabled,
...
}: {
imports = with self.nixosModules; [
restic
];
}:
{
imports = with self.nixosModules; [ restic ];
oizys = {
languages = [
@ -31,14 +30,18 @@
rcloneConfigFile = "/home/daylin/.config/rclone/rclone.conf";
repository = "rclone:g:archives/algiz";
passwordFile = "/home/daylin/.config/restic/algiz-pass";
paths = ["/home/daylin/services/git/" "/home/daylin/services/gotosocial/" "home/daylin/services/caddy"];
paths = [
"/home/daylin/services/git/"
"/home/daylin/services/gotosocial/"
"home/daylin/services/caddy"
];
};
security.sudo.wheelNeedsPassword = false;
users.users = {
daylin = {
extraGroups = ["docker"];
extraGroups = [ "docker" ];
};
git = {

View file

@ -1,28 +1,28 @@
# 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.
{ lib, modulesPath, ... }:
{
lib,
modulesPath,
...
}: {
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = [];
boot.extraModulePackages = [];
boot.initrd.availableKernelModules = [
"ahci"
"xhci_pci"
"virtio_pci"
"virtio_scsi"
"sd_mod"
"sr_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/70d6dad3-1778-43bf-8f87-76dd7f54c545";
fsType = "ext4";
};
swapDevices = [
{device = "/dev/disk/by-uuid/a4e4cad9-1844-45dd-9bea-eb77bd71c37b";}
];
swapDevices = [ { device = "/dev/disk/by-uuid/a4e4cad9-1844-45dd-9bea-eb77bd71c37b"; } ];
# 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,8 +1,5 @@
{ lib, enabled, ... }:
{
lib,
enabled,
...
}: {
users.motd = lib.mkRune {
number = "6";
rune = "algiz";
@ -23,15 +20,16 @@
# networking.nameservers = [ "8.8.8.8"];
# allow tcp connections for revsere proxy
networking.firewall =
enabled
// {
allowedTCPPorts = [80 443];
networking.firewall = enabled // {
allowedTCPPorts = [
80
443
];
};
services.openssh =
enabled
// {settings.PasswordAuthentication = false;};
services.openssh = enabled // {
settings.PasswordAuthentication = false;
};
# users.mutableUsers = false;

View file

@ -1,11 +1,6 @@
{ self, enabled, ... }:
{
self,
enabled,
...
}: {
imports = with self.nixosModules; [
nix-ld
];
imports = with self.nixosModules; [ nix-ld ];
oizys = {
desktop = enabled;
@ -19,5 +14,5 @@
windowManager.qtile.enable = true;
};
users.users.daylin.extraGroups = ["docker"];
users.users.daylin.extraGroups = [ "docker" ];
}

View file

@ -6,15 +6,24 @@
lib,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
}:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-amd" "wl"];
boot.extraModulePackages = [config.boot.kernelPackages.broadcom_sta];
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
"ahci"
"usbhid"
"usb_storage"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [
"kvm-amd"
"wl"
];
boot.extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/47108030-bad4-431a-8fe3-0063accca466";
@ -26,9 +35,7 @@
fsType = "vfat";
};
swapDevices = [
{device = "/dev/disk/by-uuid/115bc13a-9b09-4790-986c-ab3b434cde69";}
];
swapDevices = [ { device = "/dev/disk/by-uuid/115bc13a-9b09-4790-986c-ab3b434cde69"; } ];
# 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

@ -4,7 +4,8 @@
enabled,
mkRune,
...
}: {
}:
{
users.motd = mkRune {
number = "2";
rune = "mannaz";
@ -27,27 +28,21 @@
}
];
hardware.opengl =
enabled
// {
hardware.opengl = enabled // {
driSupport = true;
driSupport32Bit = true;
extraPackages = with pkgs; [
libGL
];
extraPackages = with pkgs; [ libGL ];
setLdLibraryPath = true;
};
# Load nvidia driver for Xorg and Wayland
services.xserver.videoDrivers = ["nvidia"];
services.xserver.videoDrivers = [ "nvidia" ];
hardware.nvidia = {
# Modesetting is required.
modesetting = enabled;
# Nvidia power management. Experimental, and can cause sleep/suspend to fail.
powerManagement =
enabled
// {
powerManagement = enabled // {
# Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
finegrained = false;

View file

@ -1,8 +1,5 @@
{ pkgs, enabled, ... }:
{
pkgs,
enabled,
...
}: {
oizys = {
desktop = enabled;
hyprland = enabled;
@ -31,7 +28,10 @@
user = "daylin";
repository = "rclone:g:archives/othalan";
passwordFile = "/home/daylin/.config/restic/othalan-pass";
paths = ["/home/daylin/stuff/" "/home/daylin/dev/"];
paths = [
"/home/daylin/stuff/"
"/home/daylin/dev/"
];
};
users.users.daylin.extraGroups = [

View file

@ -6,15 +6,20 @@
lib,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
}:
{
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
boot.initrd.availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
boot.initrd.availableKernelModules = [
"xhci_pci"
"thunderbolt"
"nvme"
"usb_storage"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/00587bf0-9f7f-4d96-9b8b-cf5024157e2c";
@ -26,9 +31,7 @@
fsType = "vfat";
};
swapDevices = [
{device = "/dev/disk/by-uuid/bd64a1ba-f259-4b64-88cd-5585b9345f5a";}
];
swapDevices = [ { device = "/dev/disk/by-uuid/bd64a1ba-f259-4b64-88cd-5585b9345f5a"; } ];
# 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,6 +1,8 @@
{pkgs, ...}: let
{ pkgs, ... }:
let
notes-git = ''${pkgs.git}/bin/git -C /home/daylin/stuff/notes'';
in {
in
{
systemd.services.notes-bot = {
description = "auto commit changes to notes";
serviceConfig = {
@ -13,7 +15,7 @@ in {
};
systemd.timers.notes-bot-timer = {
description = "run notes commit service";
wantedBy = ["timers.target"];
wantedBy = [ "timers.target" ];
timerConfig = {
OnCalendar = "daily";
Persistent = true;

View file

@ -3,11 +3,14 @@
enabled,
mkRune,
...
}: {
}:
{
networking.networkmanager = enabled;
services.printing = enabled;
services.fwupd = enabled;
hardware.bluetooth = enabled // {powerOnBoot = true;};
hardware.bluetooth = enabled // {
powerOnBoot = true;
};
# https://github.com/NixOS/nixos-hardware/blob/c478b3d56969006e015e55aaece4931f3600c1b2/lenovo/thinkpad/x1/9th-gen/default.nix
# https://github.com/NixOS/nixos-hardware/blob/c478b3d56969006e015e55aaece4931f3600c1b2/common/pc/ssd/default.nix
@ -15,17 +18,15 @@
# rtkit is optional but recommended
security.rtkit = enabled;
services.pipewire =
enabled
// {
services.pipewire = enabled // {
audio = enabled;
pulse = enabled;
alsa = enabled // {support32Bit = true;};
alsa = enabled // {
support32Bit = true;
};
};
environment.systemPackages = with pkgs; [
pamixer
];
environment.systemPackages = with pkgs; [ pamixer ];
services.getty = {
greetingLine = mkRune {
@ -48,9 +49,7 @@
boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux_latest;
boot.loader = {
systemd-boot =
enabled
// {
systemd-boot = enabled // {
consoleMode = "max";
};
efi.canTouchEfiVariables = true;

View file

@ -1,57 +1,78 @@
inputs: let
inputs:
let
inherit (inputs) nixpkgs self;
lib = nixpkgs.lib.extend (import ./extended.nix);
inherit (builtins) mapAttrs readDir filter listToAttrs;
inherit (lib) nixosSystem genAttrs isNixFile mkDefaultOizysModule mkOizysModule enabled mkRune;
inherit (builtins)
mapAttrs
readDir
filter
listToAttrs
;
inherit (lib)
nixosSystem
genAttrs
isNixFile
mkDefaultOizysModule
mkOizysModule
enabled
mkRune
;
inherit (lib.filesystem) listFilesRecursive;
inherit (import ./find-modules.nix {inherit lib;}) findModulesList;
inherit (import ./find-modules.nix { inherit lib; }) findModulesList;
#supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
supportedSystems = ["x86_64-linux"];
in rec {
forAllSystems = f: genAttrs supportedSystems (system: f (import nixpkgs {inherit system;}));
supportedSystems = [ "x86_64-linux" ];
in
rec {
forAllSystems = f: genAttrs supportedSystems (system: f (import nixpkgs { inherit system; }));
nixosModules = listToAttrs (findModulesList ../modules);
mkSystem = hostname:
mkSystem =
hostname:
nixosSystem {
system = "x86_64-linux";
modules =
[
modules = [
../modules/oizys.nix
../overlays
]
++ filter
isNixFile
(listFilesRecursive (../. + "/hosts/${hostname}"));
] ++ filter isNixFile (listFilesRecursive (../. + "/hosts/${hostname}"));
specialArgs = {inherit inputs lib self mkDefaultOizysModule mkOizysModule enabled mkRune;};
specialArgs = {
inherit
inputs
lib
self
mkDefaultOizysModule
mkOizysModule
enabled
mkRune
;
};
};
oizysHosts = mapAttrs (name: _: mkSystem name) (readDir ../hosts);
oizysPkg = forAllSystems (
pkgs: rec {
oizys-zig = pkgs.callPackage ../pkgs/oizys/oizys-zig {zig2nix = inputs.zig2nix;};
oizys-nim = pkgs.callPackage ../pkgs/oizys/oizys-nim {};
oizys-rs = pkgs.callPackage ../pkgs/oizys/oizys-rs {};
oizys-go = pkgs.callPackage ../pkgs/oizys/oizys-go {};
oizysPkg = forAllSystems (pkgs: rec {
oizys-zig = pkgs.callPackage ../pkgs/oizys/oizys-zig { zig2nix = inputs.zig2nix; };
oizys-nim = pkgs.callPackage ../pkgs/oizys/oizys-nim { };
oizys-rs = pkgs.callPackage ../pkgs/oizys/oizys-rs { };
oizys-go = pkgs.callPackage ../pkgs/oizys/oizys-go { };
default = oizys-go;
}
);
devShells = forAllSystems (
pkgs: {
});
devShells = forAllSystems (pkgs: {
default = pkgs.mkShell {
packages = with pkgs; [git deadnix];
packages = with pkgs; [
git
deadnix
];
};
}
);
});
oizysFlake = {
nixosModules = nixosModules;
nixosConfigurations = oizysHosts;
packages = oizysPkg;
devShells = devShells;
formatter = forAllSystems (pkgs: pkgs.alejandra);
formatter = forAllSystems (pkgs: pkgs.nixfmt-rfc-style);
};
}

View file

@ -1,28 +1,45 @@
final: prev: let
inherit (final) hasSuffix mkEnableOption mkIf mkOption types;
final: prev:
let
inherit (final)
hasSuffix
mkEnableOption
mkIf
mkOption
types
;
runes = import ../modules/runes;
in rec {
enabled = {enable = true;};
disabled = {enable = false;};
in
rec {
enabled = {
enable = true;
};
disabled = {
enable = false;
};
# ["a" "b"] -> {a.enable = true; b.enable = true;}
enableAttrs = attrs:
builtins.listToAttrs (map (attr: {
enableAttrs =
attrs:
builtins.listToAttrs (
map (attr: {
name = attr;
value = enabled;
})
attrs);
}) attrs
);
# ["a" "b"] -> {a.enable = false; b.enable = false;}
disableAttrs = attrs:
builtins.listToAttrs (map (attr: {
disableAttrs =
attrs:
builtins.listToAttrs (
map (attr: {
name = attr;
value = disabled;
})
attrs);
}) attrs
);
isNixFile = path: hasSuffix ".nix" path;
mkIfIn = name: list: prev.mkIf (builtins.elem name list);
mkRune = {
mkRune =
{
rune,
number ? "6",
runeKind ? "braille",

View file

@ -1,25 +1,39 @@
{...}: let
inherit (builtins) concatLists attrValues mapAttrs elemAt match readDir;
in rec {
{ ... }:
let
inherit (builtins)
concatLists
attrValues
mapAttrs
elemAt
match
readDir
;
in
rec {
# https://github.com/balsoft/nixos-config/blob/73cc2c3a8bb62a9c3980a16ae70b2e97af6e1abd/flake.nix#L109-L120
findModulesList = dir:
concatLists (attrValues (mapAttrs
(name: type:
if type == "regular"
then [
findModulesList =
dir:
concatLists (
attrValues (
mapAttrs (
name: type:
if type == "regular" then
[
{
name = elemAt (match "(.*)\\.nix" name) 0;
value = dir + "/${name}";
}
]
else if
(readDir (dir + "/${name}"))
? "default.nix"
then [
else if (readDir (dir + "/${name}")) ? "default.nix" then
[
{
inherit name;
value = dir + "/${name}";
}
]
else findModulesList (dir + "/${name}")) (readDir dir)));
else
findModulesList (dir + "/${name}")
) (readDir dir)
)
);
}

View file

@ -3,13 +3,15 @@
config,
lib,
...
}: let
}:
let
inherit (lib) mkIf;
in {
in
{
config = mkIf config.oizys.desktop.enable {
fonts.fontconfig.enable = true;
fonts.packages = with pkgs; [
(nerdfonts.override {fonts = ["FiraCode"];})
(nerdfonts.override { fonts = [ "FiraCode" ]; })
recursive
];
};

View file

@ -4,9 +4,11 @@
config,
lib,
...
}: let
}:
let
inherit (lib) mkIf;
in {
in
{
config = mkIf config.oizys.desktop.enable {
environment.systemPackages = with pkgs; [
wezterm
@ -23,7 +25,7 @@ in {
hunspell # spell check for libreoffice
(catppuccin-gtk.override {
accents = ["rosewater"];
accents = [ "rosewater" ];
variant = "mocha";
})

View file

@ -3,15 +3,21 @@
config,
lib,
...
}: let
}:
let
inherit (lib) mkIf;
cfg = config.services.xserver.windowManager.qtile;
lock = pkgs.writeShellApplication {
name = "lock";
runtimeInputs = with pkgs; [i3lock-color figlet procps];
runtimeInputs = with pkgs; [
i3lock-color
figlet
procps
];
text = builtins.readFile ./lock.sh;
};
in {
in
{
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
xss-lock
@ -19,9 +25,9 @@ in {
];
systemd.services.i3lock = {
wantedBy = ["sleep.target"];
wantedBy = [ "sleep.target" ];
description = "Lock the screen using a custom lock script";
before = ["suspend.target"];
before = [ "suspend.target" ];
serviceConfig = {
User = "daylin";
Type = "forking";

View file

@ -15,12 +15,10 @@
# '';
# };
mkOizysModule config "hyprland" {
programs.hyprland =
enabled
// {
programs.hyprland = enabled // {
package = inputs.hyprland.packages.${pkgs.system}.default;
};
security.pam.services.swaylock = {};
security.pam.services.swaylock = { };
# Optional, hint electron apps to use wayland:
environment.sessionVariables.NIXOS_OZONE_WL = "1";

View file

@ -3,10 +3,12 @@
config,
lib,
...
}: let
}:
let
inherit (lib) mkIf;
cfg = config.services.xserver.windowManager.qtile;
in {
in
{
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [
brightnessctl

View file

@ -1,11 +1,6 @@
{ pkgs, self, ... }:
{
pkgs,
self,
...
}: {
imports = with self.nixosModules; [
git
];
imports = with self.nixosModules; [ git ];
programs.zsh.enable = true;
environment.systemPackages = with pkgs; [
tmux

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
git
git-lfs

View file

@ -1,4 +1,5 @@
{pkgs, ...}: {
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
vim
neovim

View file

@ -3,9 +3,11 @@
lib,
config,
...
}: let
}:
let
inherit (lib) mkIf;
in {
in
{
config = mkIf config.oizys.desktop.enable {
environment.systemPackages = with pkgs; [
# vscode

View file

@ -1,13 +1,27 @@
{lib, ...}: let
inherit (lib) mkOption types literalExpression mdDoc;
in {
imports = [./nim.nix ./tex.nix ./misc.nix ./node.nix ./python.nix ./zig.nix];
{ lib, ... }:
let
inherit (lib)
mkOption
types
literalExpression
mdDoc
;
in
{
imports = [
./nim.nix
./tex.nix
./misc.nix
./node.nix
./python.nix
./zig.nix
];
options.oizys.languages = mkOption {
type = with types; (listOf str);
description = mdDoc ''
List of programming languages to enable.
'';
default = [];
default = [ ];
example = literalExpression ''
[
"python"

View file

@ -3,10 +3,12 @@
lib,
pkgs,
...
}: let
}:
let
inherit (lib) mkIfIn;
cfg = config.oizys.languages;
in {
in
{
config = mkIfIn "misc" cfg {
environment.systemPackages = with pkgs; [
go

View file

@ -3,10 +3,12 @@
lib,
pkgs,
...
}: let
}:
let
inherit (lib) mkIfIn;
cfg = config.oizys.languages;
in {
in
{
config = mkIfIn "nim" cfg {
environment.systemPackages = with pkgs; [
nim

View file

@ -3,10 +3,12 @@
lib,
pkgs,
...
}: let
}:
let
inherit (lib) mkIfIn;
cfg = config.oizys.languages;
in {
in
{
config = mkIfIn "node" cfg {
environment.systemPackages = with pkgs; [
nodejs

View file

@ -3,15 +3,19 @@
lib,
pkgs,
...
}: let
}:
let
inherit (lib) mkIfIn;
cfg = config.oizys.languages;
in {
in
{
config = mkIfIn "python" cfg {
environment.systemPackages = let
python = pkgs.python3.withPackages (ps: with ps; [pip]);
environment.systemPackages =
let
python = pkgs.python3.withPackages (ps: with ps; [ pip ]);
in
with pkgs; [
with pkgs;
[
# https://github.com/Mic92/nix-ld?tab=readme-ov-file#my-pythonnodejsrubyinterpreter-libraries-do-not-find-the-libraries-configured-by-nix-ld
(pkgs.writeShellScriptBin "python" ''
export LD_LIBRARY_PATH=$NIX_LD_LIBRARY_PATH
@ -23,7 +27,7 @@ in {
exec ${python}/bin/python "$@"
'')
(python3.withPackages (ps: with ps; [pip]))
(python3.withPackages (ps: with ps; [ pip ]))
micromamba
pixi
];

View file

@ -3,13 +3,13 @@
lib,
pkgs,
...
}: let
}:
let
inherit (lib) mkIfIn;
cfg = config.oizys.languages;
in {
in
{
config = mkIfIn "tex" cfg {
environment.systemPackages = with pkgs; [
texlive.combined.scheme-full
];
environment.systemPackages = with pkgs; [ texlive.combined.scheme-full ];
};
}

View file

@ -4,13 +4,18 @@
lib,
pkgs,
...
}: let
}:
let
inherit (lib) mkIfIn;
cfg = config.oizys.languages;
zig = inputs.zig2nix.outputs.packages.${pkgs.system}.zig.master.bin;
zls = inputs.zls.outputs.packages.${pkgs.system}.default;
in {
in
{
config = mkIfIn "zig" cfg {
environment.systemPackages = [zig zls];
environment.systemPackages = [
zig
zls
];
};
}

View file

@ -5,7 +5,10 @@
...
}:
mkOizysModule config "vpn" {
environment.systemPackages = with pkgs; [openconnect openvpn];
environment.systemPackages = with pkgs; [
openconnect
openvpn
];
services.openvpn.servers = {
express-ny = {

View file

@ -3,10 +3,12 @@
lib,
config,
...
}: let
}:
let
inherit (lib) mkEnableOption mkIf;
cfg = config.oizys.nix-ld;
in {
in
{
options.oizys.nix-ld.enable = mkEnableOption "enable nix-ld support";
config = mkIf cfg.enable {
programs.nix-ld.enable = true;

View file

@ -3,10 +3,9 @@
self,
pkgs,
...
}: {
imports = [
inputs.nix-index-database.nixosModules.nix-index
];
}:
{
imports = [ inputs.nix-index-database.nixosModules.nix-index ];
nixpkgs.config.allowUnfree = true;
nix.package = pkgs.nixVersions.latest;
@ -34,7 +33,7 @@
programs.command-not-found.enable = false;
nix.settings = {
trusted-users = ["@wheel"];
trusted-users = [ "@wheel" ];
accept-flake-config = true;
# substituters = [

View file

@ -1,10 +1,8 @@
{
lib,
self,
...
}: let
{ lib, self, ... }:
let
inherit (lib) mkEnableOption;
in {
in
{
imports = with self.nixosModules; [
users
nix

View file

@ -22,16 +22,8 @@ mkOizysModule config "chrome" {
};
environment.systemPackages = with pkgs; [
(chromium.override {
commandLineArgs = [
"--force-dark-mode"
];
})
(chromium.override { commandLineArgs = [ "--force-dark-mode" ]; })
(google-chrome.override {
commandLineArgs = [
"--force-dark-mode"
];
})
(google-chrome.override { commandLineArgs = [ "--force-dark-mode" ]; })
];
}

View file

@ -1,5 +1,6 @@
{
braille = ''
braille = ''

View file

@ -1,5 +1,6 @@
{
braille = ''
braille = ''

View file

@ -1,4 +1,5 @@
{...}: {
{ ... }:
{
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;

View file

@ -5,7 +5,7 @@
...
}:
mkOizysModule config "backups" {
environment.systemPackages = with pkgs; [rclone];
environment.systemPackages = with pkgs; [ rclone ];
services.restic.backups.gdrive = {
# BUG: if .conda/environments.txt doesn't exist then this won't work

View file

@ -3,10 +3,12 @@
lib,
pkgs,
...
}: let
}:
let
inherit (lib) mkOption mkIf types;
cfg = config.users.defaultUser;
in {
in
{
options.users.defaultUser = mkOption {
default = true;
type = types.bool;

View file

@ -6,7 +6,5 @@
}:
mkOizysModule config "docker" {
virtualisation.docker.enable = true;
environment.systemPackages = with pkgs; [
lazydocker
];
environment.systemPackages = with pkgs; [ lazydocker ];
}

View file

@ -1,11 +1,7 @@
{
config,
mkOizysModule,
...
}:
{ config, mkOizysModule, ... }:
mkOizysModule config "vbox" {
virtualisation.virtualbox = {
host.enable = true;
};
users.extraGroups.vboxusers.members = ["daylin"];
users.extraGroups.vboxusers.members = [ "daylin" ];
}

View file

@ -1,25 +1,21 @@
{inputs, ...}: let
{ inputs, ... }:
let
defaultOverlays =
# execute and import all overlay files in the current
# directory with the given args
builtins.map
# execute and import the overlay file
(f: (import (./. + "/${f}") {inherit inputs;}))
(f: (import (./. + "/${f}") { inherit inputs; }))
# find all overlay files in the current directory
(builtins.filter
(f: f != "default.nix")
(builtins.attrNames (builtins.readDir ./.)));
in {
nixpkgs.overlays =
defaultOverlays
++ [
(
final: _prev: {
(builtins.filter (f: f != "default.nix") (builtins.attrNames (builtins.readDir ./.)));
in
{
nixpkgs.overlays = defaultOverlays ++ [
(final: _prev: {
stable = import inputs.stable {
system = final.system;
config.allowUnfree = true;
};
}
)
})
];
}

View file

@ -1,4 +1,5 @@
{...}: (final: prev: {
{ ... }:
(final: prev: {
nim-atlas = prev.nim-atlas.overrideNimAttrs {
version = "unstable";
src = final.fetchFromGitHub {

View file

@ -1,8 +1,9 @@
{...}: (final: prev: {
{ ... }:
(final: prev: {
nimble = prev.nimble.overrideNimAttrs {
version = "0.14.2-5e7901760e89108476a4e21976a0ef783403e8fe";
requiredNimVersion = 2;
buildInputs = [prev.pkgs.openssl];
buildInputs = [ prev.pkgs.openssl ];
src = final.fetchFromGitHub {
owner = "nim-lang";

View file

@ -1,4 +1,5 @@
{...}: (final: prev: {
{ ... }:
(final: prev: {
nimlsp = prev.nimlsp.overrideNimAttrs {
requiredNimVersion = 2;
nimFlags = [

View file

@ -12,7 +12,7 @@ buildGoModule {
src = lib.cleanSource ./.;
vendorHash = "sha256-Fcq8p/YItF5lx82PRg1/tksV7iCIS0xZZVWdpE3e7F0=";
nativeBuildInputs = [installShellFiles];
nativeBuildInputs = [ installShellFiles ];
postInstall = ''
installShellCompletion --cmd oizys \

View file

@ -1,4 +1,4 @@
{buildNimPackage}:
{ buildNimPackage }:
buildNimPackage {
pname = "oizys";
version = "unstable";

View file

@ -11,8 +11,8 @@ rustPlatform.buildRustPackage {
lockFile = ./Cargo.lock;
};
nativeBuildInputs = [installShellFiles];
buildInputs = [nix-output-monitor];
nativeBuildInputs = [ installShellFiles ];
buildInputs = [ nix-output-monitor ];
postInstall = ''
installShellCompletion --cmd oizys \

View file

@ -6,8 +6,8 @@
}:
(zig2nix.outputs.zig-env.${pkgs.system} {
zig = zig2nix.outputs.packages.${pkgs.system}.zig.master.bin;
})
.package {
}).package
{
name = "oizys";
src = lib.cleanSource ./.;
}
}