mirror of
https://github.com/daylinmorgan/oizys.git
synced 2024-11-05 01:53:15 -06:00
nixfmt-rfc-style now
This commit is contained in:
parent
9174ac3198
commit
ee519f94c9
49 changed files with 393 additions and 309 deletions
|
@ -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 = {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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" ];
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
enabled,
|
||||
mkRune,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
users.motd = mkRune {
|
||||
number = "2";
|
||||
rune = "mannaz";
|
||||
|
@ -27,31 +28,25 @@
|
|||
}
|
||||
];
|
||||
|
||||
hardware.opengl =
|
||||
enabled
|
||||
// {
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
extraPackages = with pkgs; [
|
||||
libGL
|
||||
];
|
||||
setLdLibraryPath = true;
|
||||
};
|
||||
hardware.opengl = enabled // {
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
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
|
||||
// {
|
||||
# Fine-grained power management. Turns off GPU when not in use.
|
||||
# Experimental and only works on modern Nvidia GPUs (Turing or newer).
|
||||
finegrained = false;
|
||||
};
|
||||
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;
|
||||
};
|
||||
|
||||
# Use the NVidia open source kernel module (not to be confused with the
|
||||
# independent third-party "nouveau" open source driver).
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
// {
|
||||
audio = enabled;
|
||||
pulse = enabled;
|
||||
alsa = enabled // {support32Bit = true;};
|
||||
services.pipewire = enabled // {
|
||||
audio = enabled;
|
||||
pulse = enabled;
|
||||
alsa = enabled // {
|
||||
support32Bit = true;
|
||||
};
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
pamixer
|
||||
];
|
||||
environment.systemPackages = with pkgs; [ pamixer ];
|
||||
|
||||
services.getty = {
|
||||
greetingLine = mkRune {
|
||||
|
@ -48,11 +49,9 @@
|
|||
boot.kernelPackages = pkgs.linuxPackagesFor pkgs.linux_latest;
|
||||
|
||||
boot.loader = {
|
||||
systemd-boot =
|
||||
enabled
|
||||
// {
|
||||
consoleMode = "max";
|
||||
};
|
||||
systemd-boot = enabled // {
|
||||
consoleMode = "max";
|
||||
};
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
|
||||
|
|
|
@ -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/oizys.nix
|
||||
../overlays
|
||||
]
|
||||
++ filter
|
||||
isNixFile
|
||||
(listFilesRecursive (../. + "/hosts/${hostname}"));
|
||||
modules = [
|
||||
../modules/oizys.nix
|
||||
../overlays
|
||||
] ++ 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 {};
|
||||
default = oizys-go;
|
||||
}
|
||||
);
|
||||
devShells = forAllSystems (
|
||||
pkgs: {
|
||||
default = pkgs.mkShell {
|
||||
packages = with pkgs; [git deadnix];
|
||||
};
|
||||
}
|
||||
);
|
||||
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: {
|
||||
default = pkgs.mkShell {
|
||||
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);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,32 +1,49 @@
|
|||
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 = {
|
||||
rune,
|
||||
number ? "6",
|
||||
runeKind ? "braille",
|
||||
}:
|
||||
mkRune =
|
||||
{
|
||||
rune,
|
||||
number ? "6",
|
||||
runeKind ? "braille",
|
||||
}:
|
||||
"[1;3${number}m\n" + runes.${rune}.${runeKind} + "\n[0m";
|
||||
|
||||
mkOizysModule = config: attr: content: {
|
||||
|
|
|
@ -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 [
|
||||
{
|
||||
name = elemAt (match "(.*)\\.nix" name) 0;
|
||||
value = dir + "/${name}";
|
||||
}
|
||||
]
|
||||
else if
|
||||
(readDir (dir + "/${name}"))
|
||||
? "default.nix"
|
||||
then [
|
||||
{
|
||||
inherit name;
|
||||
value = dir + "/${name}";
|
||||
}
|
||||
]
|
||||
else findModulesList (dir + "/${name}")) (readDir dir)));
|
||||
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
|
||||
[
|
||||
{
|
||||
inherit name;
|
||||
value = dir + "/${name}";
|
||||
}
|
||||
]
|
||||
else
|
||||
findModulesList (dir + "/${name}")
|
||||
) (readDir dir)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -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
|
||||
];
|
||||
};
|
||||
|
|
|
@ -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";
|
||||
})
|
||||
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -15,12 +15,10 @@
|
|||
# '';
|
||||
# };
|
||||
mkOizysModule config "hyprland" {
|
||||
programs.hyprland =
|
||||
enabled
|
||||
// {
|
||||
package = inputs.hyprland.packages.${pkgs.system}.default;
|
||||
};
|
||||
security.pam.services.swaylock = {};
|
||||
programs.hyprland = enabled // {
|
||||
package = inputs.hyprland.packages.${pkgs.system}.default;
|
||||
};
|
||||
security.pam.services.swaylock = { };
|
||||
# Optional, hint electron apps to use wayland:
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
|
||||
|
@ -56,7 +54,7 @@ mkOizysModule config "hyprland" {
|
|||
inputs.hyprland-contrib.overlays.default
|
||||
# some issue with dunst?
|
||||
# inputs.nixpkgs-wayland.overlay
|
||||
|
||||
|
||||
# when this was active I was forced to recompile VirtualBox myself, which would just fail to compile...
|
||||
# Must have been one of the other non-hyprland packages modified in the overlay
|
||||
# inputs.hyprland.overlays.default
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
git
|
||||
git-lfs
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim
|
||||
neovim
|
||||
|
|
|
@ -3,9 +3,11 @@
|
|||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
in {
|
||||
in
|
||||
{
|
||||
config = mkIf config.oizys.desktop.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# vscode
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]);
|
||||
in
|
||||
with pkgs; [
|
||||
environment.systemPackages =
|
||||
let
|
||||
python = pkgs.python3.withPackages (ps: with ps; [ pip ]);
|
||||
in
|
||||
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
|
||||
];
|
||||
|
|
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -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
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -5,7 +5,10 @@
|
|||
...
|
||||
}:
|
||||
mkOizysModule config "vpn" {
|
||||
environment.systemPackages = with pkgs; [openconnect openvpn];
|
||||
environment.systemPackages = with pkgs; [
|
||||
openconnect
|
||||
openvpn
|
||||
];
|
||||
|
||||
services.openvpn.servers = {
|
||||
express-ny = {
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 = [
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
{
|
||||
lib,
|
||||
self,
|
||||
...
|
||||
}: let
|
||||
{ lib, self, ... }:
|
||||
let
|
||||
inherit (lib) mkEnableOption;
|
||||
in {
|
||||
in
|
||||
{
|
||||
imports = with self.nixosModules; [
|
||||
users
|
||||
nix
|
||||
|
|
|
@ -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" ]; })
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
braille = '' ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
braille = ''
|
||||
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
|
||||
⠀⠀⠀⢠⣾⣦⡀⠀⠀⠀⣶⣶⠀⠀⠀⢀⣴⣷⡄⠀⠀⠀
|
||||
⠀⠀⠀⠀⠙⢿⣷⣄⠀⠀⣿⣿⠀⠀⣠⣾⡿⠋⠀⠀⠀⠀
|
||||
⠀⠀⠀⠀⠀⠀⠙⢿⣷⣄⣿⣿⣠⣾⡿⠋⠀⠀⠀⠀⠀⠀
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
braille = '' ⠀
|
||||
braille = ''
|
||||
⠀
|
||||
⢰⣶⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣶⡆⠀⠀
|
||||
⠀⠀⢸⣿⡿⢿⣷⣦⣄⠀⠀⠀⠀⣀⣴⣾⡿⠿⣿⡇⠀⠀
|
||||
⠀⠀⢸⣿⡇⠀⠈⠛⠿⣿⣶⣴⣿⠿⠛⠁⠀⢸⣿⡇⠀⠀
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{...}: {
|
||||
{ ... }:
|
||||
{
|
||||
programs.gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -6,7 +6,5 @@
|
|||
}:
|
||||
mkOizysModule config "docker" {
|
||||
virtualisation.docker.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
lazydocker
|
||||
];
|
||||
environment.systemPackages = with pkgs; [ lazydocker ];
|
||||
}
|
||||
|
|
|
@ -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" ];
|
||||
}
|
||||
|
|
|
@ -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;}))
|
||||
# find all overlay files in the current directory
|
||||
(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;
|
||||
};
|
||||
}
|
||||
)
|
||||
];
|
||||
# execute and import the overlay file
|
||||
(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: {
|
||||
stable = import inputs.stable {
|
||||
system = final.system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{...}: (final: prev: {
|
||||
{ ... }:
|
||||
(final: prev: {
|
||||
nim-atlas = prev.nim-atlas.overrideNimAttrs {
|
||||
version = "unstable";
|
||||
src = final.fetchFromGitHub {
|
||||
|
|
|
@ -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";
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{...}: (final: prev: {
|
||||
{ ... }:
|
||||
(final: prev: {
|
||||
nimlsp = prev.nimlsp.overrideNimAttrs {
|
||||
requiredNimVersion = 2;
|
||||
nimFlags = [
|
||||
|
|
|
@ -12,7 +12,7 @@ buildGoModule {
|
|||
src = lib.cleanSource ./.;
|
||||
vendorHash = "sha256-Fcq8p/YItF5lx82PRg1/tksV7iCIS0xZZVWdpE3e7F0=";
|
||||
|
||||
nativeBuildInputs = [installShellFiles];
|
||||
nativeBuildInputs = [ installShellFiles ];
|
||||
|
||||
postInstall = ''
|
||||
installShellCompletion --cmd oizys \
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{buildNimPackage}:
|
||||
{ buildNimPackage }:
|
||||
buildNimPackage {
|
||||
pname = "oizys";
|
||||
version = "unstable";
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
}:
|
||||
(zig2nix.outputs.zig-env.${pkgs.system} {
|
||||
zig = zig2nix.outputs.packages.${pkgs.system}.zig.master.bin;
|
||||
})
|
||||
.package {
|
||||
name = "oizys";
|
||||
src = lib.cleanSource ./.;
|
||||
}
|
||||
}).package
|
||||
{
|
||||
name = "oizys";
|
||||
src = lib.cleanSource ./.;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue