Compare commits

...

18 commits

Author SHA1 Message Date
github-actions[bot]
fa1253baa5 flake.lock: Update
Flake lock file updates:

• Updated input 'hyprland':
    'github:hyprwm/Hyprland/3e67ee0f5f66c74c0a0bd4f797361fd100c2e2d2' (2024-03-13)
  → 'github:hyprwm/Hyprland/0387528c56c4d9faf93946cbc9426973de6ef61b' (2024-03-17)
• Updated input 'hyprland/hyprcursor':
    'github:hyprwm/hyprcursor/05db7dfd7fc261e0195e54f8a6d655d4f370e70f' (2024-03-10)
  → 'github:hyprwm/hyprcursor/1761f6cefd77f4fcd2039d930c88d6716ddc4974' (2024-03-12)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/db001797591bf76f7b8d4c4ed3b49233391e0c97' (2024-03-14)
  → 'github:nixos/nixpkgs/9af9c1c87ed3e3ed271934cb896e0cdd33dae212' (2024-03-15)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/077f5833cb60efda5375053101b75150a5386e22' (2024-03-14)
  → 'github:nix-community/nixpkgs-wayland/bce941770aa96005f08c7b60851037352bf76156' (2024-03-16)
• Updated input 'stable':
    'github:nixos/nixpkgs/51063ed4f2343a59fdeebb279bb81d87d453942b' (2024-03-12)
  → 'github:nixos/nixpkgs/878ef7d9721bee9f81f8a80819f9211ad1f993da' (2024-03-14)
2024-03-17 00:38:09 +00:00
ad24ee33d9
switch to nil 2024-03-14 12:58:26 -05:00
a9235fef86
check on vivaldi issues 2024-03-14 12:25:28 -05:00
9b686cc202
remove whitespace 2024-03-14 10:50:11 -05:00
00550108b1
add doc extractor and path subcommand 2024-03-14 10:44:57 -05:00
13401e38f4
update flake.lock 2024-03-14 09:56:45 -05:00
409fb6a016
use nixpkgs-unstable pixi 2024-03-14 09:52:47 -05:00
92bc73b255
formatting 2024-03-14 09:51:27 -05:00
b33633cd3c
deadnix 2024-03-13 10:42:36 -05:00
6ad1950f5e
don't echo needlessly 2024-03-13 10:37:48 -05:00
c26350a67f
revert back to nixpkgs-unstable 2024-03-13 10:32:53 -05:00
dfb825e72d
use PR with virtualbox pinned 2024-03-12 11:47:25 -05:00
7bd5e95612
make virtualbox a more proper module 2024-03-12 10:00:05 -05:00
38d3219ad4
working unstable commit 2024-03-12 09:12:26 -05:00
a67cd9d0ed
use more recent nimble 2024-03-11 14:02:10 -05:00
8ceae1884b
quit if build fails 2024-03-11 10:22:35 -05:00
ba0c40c2f5
use nixpkgs pixi 2024-03-11 09:52:31 -05:00
2240cc0af4
update nix flake and remove nixd 2024-03-11 09:43:32 -05:00
18 changed files with 229 additions and 171 deletions

View file

@ -18,6 +18,7 @@
"flake-parts": { "flake-parts": {
"inputs": { "inputs": {
"nixpkgs-lib": [ "nixpkgs-lib": [
"nixpkgs-wayland",
"nix-eval-jobs", "nix-eval-jobs",
"nixpkgs" "nixpkgs"
] ]
@ -38,14 +39,14 @@
}, },
"flake-utils": { "flake-utils": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1709126324, "lastModified": 1710146030,
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "d465f4819400de7c8d874d50b982301f28a84605", "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -54,23 +55,50 @@
"type": "github" "type": "github"
} }
}, },
"hyprcursor": {
"inputs": {
"hyprlang": "hyprlang",
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1710257359,
"narHash": "sha256-43re5pzE/cswFAgw92/ugsB3+d5ufDaCcLtl9ztKfBo=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "1761f6cefd77f4fcd2039d930c88d6716ddc4974",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprland": { "hyprland": {
"inputs": { "inputs": {
"hyprcursor": "hyprcursor",
"hyprland-protocols": "hyprland-protocols", "hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang", "hyprlang": "hyprlang_2",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"systems": "systems", "systems": "systems_2",
"wlroots": "wlroots", "wlroots": "wlroots",
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1709684144, "lastModified": 1710634512,
"narHash": "sha256-7j+EjESpJYRx6tRkeTd6YgQxFUWXJ1vmhnwh0S8jlaA=", "narHash": "sha256-dqYzqSsGB9PhwxG2H3oVRpqAMWziVuQ7k+02ASku8T4=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "fb87e332c59ce386a095b3e81bb1abbcc9cc3e5c", "rev": "0387528c56c4d9faf93946cbc9426973de6ef61b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -87,11 +115,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1709391291, "lastModified": 1710415616,
"narHash": "sha256-NJwAgXRKLVuO3YLkGxXIanLvTKN+cJsYwbLoWOa7ODk=", "narHash": "sha256-1qVByzzCcKoCmP8ReUSAjKU5V9pfTLHQIM4WI1tvQ9E=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "contrib", "repo": "contrib",
"rev": "2d4ece4a008feefddc194bde785b1d39f987b5a7", "rev": "75420d09f93346d9d23d5a1e26b42699f6b66cd6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -126,6 +154,29 @@
} }
}, },
"hyprlang": { "hyprlang": {
"inputs": {
"nixpkgs": [
"hyprland",
"hyprcursor",
"nixpkgs"
],
"systems": "systems"
},
"locked": {
"lastModified": 1709914708,
"narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprlang_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
@ -137,11 +188,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1708787654, "lastModified": 1709914708,
"narHash": "sha256-7ACgM3ZuAhPqurXHUvR2nWMRcnmzGGPjLK6q4DSTelI=", "narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "0fce791ba2334aca183f2ed42399518947550d0d", "rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -156,11 +207,11 @@
"nixpkgs-lib": "nixpkgs-lib" "nixpkgs-lib": "nixpkgs-lib"
}, },
"locked": { "locked": {
"lastModified": 1709467759, "lastModified": 1710184940,
"narHash": "sha256-ojIpNROGKk56wyvpMAlBVor3CvPez3pFMORrocxW4io=", "narHash": "sha256-FzYm4td3FJfzOAuEkCXt3KdUgZuA072OAQXqIq+IAMo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "lib-aggregate", "repo": "lib-aggregate",
"rev": "206e40afdc468d0658e30e1644e2473dc6285cf2", "rev": "45b75bf534592c0c1c881a1c447f7fdb37a87eaf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -173,9 +224,7 @@
"inputs": { "inputs": {
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nix-github-actions": "nix-github-actions", "nix-github-actions": "nix-github-actions",
"nixpkgs": [ "nixpkgs": "nixpkgs_2",
"nixpkgs"
],
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
@ -195,6 +244,7 @@
"nix-github-actions": { "nix-github-actions": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs-wayland",
"nix-eval-jobs", "nix-eval-jobs",
"nixpkgs" "nixpkgs"
] ]
@ -220,11 +270,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1709435391, "lastModified": 1710120787,
"narHash": "sha256-s4itTkIVxn5lYeTzwkbAgl99atnjdZv1idI1118vdzA=", "narHash": "sha256-tlLuB73OCOKtU2j83bQzSYFyzjJo3rjpITZE5MoofG8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "93554c04c2f1c02f4a383538e8848d511c3129e9", "rev": "e76ff2df6bfd2abe06abd8e7b9f217df941c1b07",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -235,11 +285,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1709641832, "lastModified": 1710534455,
"narHash": "sha256-bzzRc3DiV8Cm/67HDa39pyBymqF45ISgUbXqjrMk2UE=", "narHash": "sha256-huQT4Xs0y4EeFKn2BTBVYgEwJSv8SDlm82uWgMnCMmI=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "bfa8b30043892dc2b660d403faa159bab7b65898", "rev": "9af9c1c87ed3e3ed271934cb896e0cdd33dae212",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -251,11 +301,11 @@
}, },
"nixpkgs-lib": { "nixpkgs-lib": {
"locked": { "locked": {
"lastModified": 1709426687, "lastModified": 1710031547,
"narHash": "sha256-jLBZmwXf0WYHzLkmEMq33bqhX55YtT5edvluFr0RcSA=", "narHash": "sha256-pkUg3hOKuGWMGF9WEMPPN/G4pqqdbNGJQ54yhyQYDVY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "7873d84a89ae6e4841528ff7f5697ddcb5bdfe6c", "rev": "630ebdc047ca96d8126e16bb664c7730dc52f6e6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -268,19 +318,17 @@
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"lib-aggregate": "lib-aggregate", "lib-aggregate": "lib-aggregate",
"nix-eval-jobs": [ "nix-eval-jobs": "nix-eval-jobs",
"nix-eval-jobs"
],
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1709651762, "lastModified": 1710631003,
"narHash": "sha256-bqzSRKYivOsXFkiVwWfoqtBISmBrwT5ShEhXgxKrkxk=", "narHash": "sha256-6bOCj2BUwOYDO1Lq3DgwIfrdUiieKkm1fCHFQRkLK4Y=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs-wayland", "repo": "nixpkgs-wayland",
"rev": "d59914397b85d7b208b1ccc39906ef7bfcf0f26c", "rev": "bce941770aa96005f08c7b60851037352bf76156",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -289,6 +337,22 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": {
"locked": {
"lastModified": 1703134684,
"narHash": "sha256-SQmng1EnBFLzS7WSRyPM9HgmZP2kLJcPAz+Ug/nug6o=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "d6863cbcbbb80e71cecfc03356db1cda38919523",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"pinix": { "pinix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -313,11 +377,27 @@
"inputs": { "inputs": {
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprland-contrib": "hyprland-contrib", "hyprland-contrib": "hyprland-contrib",
"nix-eval-jobs": "nix-eval-jobs",
"nix-index-database": "nix-index-database", "nix-index-database": "nix-index-database",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-wayland": "nixpkgs-wayland", "nixpkgs-wayland": "nixpkgs-wayland",
"pinix": "pinix" "pinix": "pinix",
"stable": "stable"
}
},
"stable": {
"locked": {
"lastModified": 1710420202,
"narHash": "sha256-MvFKESbq4rUWuaf2RKPNYENaSZEw/jaCLo2gU6oREcM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "878ef7d9721bee9f81f8a80819f9211ad1f993da",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
} }
}, },
"systems": { "systems": {
@ -336,6 +416,21 @@
} }
}, },
"systems_2": { "systems_2": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"systems_3": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@ -353,6 +448,7 @@
"treefmt-nix": { "treefmt-nix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs-wayland",
"nix-eval-jobs", "nix-eval-jobs",
"nixpkgs" "nixpkgs"
] ]
@ -375,18 +471,18 @@
"flake": false, "flake": false,
"locked": { "locked": {
"host": "gitlab.freedesktop.org", "host": "gitlab.freedesktop.org",
"lastModified": 1708558866, "lastModified": 1709983277,
"narHash": "sha256-Mz6hCtommq7RQfcPnxLINigO4RYSNt23HeJHC6mVmWI=", "narHash": "sha256-wXWIJLd4F2JZeMaihWVDW/yYXCLEC8OpeNJZg9a9ly8=",
"owner": "wlroots", "owner": "wlroots",
"repo": "wlroots", "repo": "wlroots",
"rev": "0cb091f1a2d345f37d2ee445f4ffd04f7f4ec9e5", "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
"host": "gitlab.freedesktop.org", "host": "gitlab.freedesktop.org",
"owner": "wlroots", "owner": "wlroots",
"repo": "wlroots", "repo": "wlroots",
"rev": "0cb091f1a2d345f37d2ee445f4ffd04f7f4ec9e5", "rev": "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b",
"type": "gitlab" "type": "gitlab"
} }
}, },
@ -410,11 +506,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1708696469, "lastModified": 1709299639,
"narHash": "sha256-shh5wmpeYy3MmsBfkm4f76yPsBDGk6OLYRVG+ARy2F0=", "narHash": "sha256-jYqJM5khksLIbqSxCLUUcqEgI+O2LdlSlcMEBs39CAU=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "1b713911c2f12b96c2574474686e4027ac4bf826", "rev": "2d2fb547178ec025da643db57d40a971507b82fe",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -9,21 +9,14 @@
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
stable.url = "github:nixos/nixpkgs/nixos-23.11";
hyprland.url = "github:hyprwm/Hyprland/main"; hyprland.url = "github:hyprwm/Hyprland/main";
hyprland.inputs.nixpkgs.follows = "nixpkgs"; hyprland.inputs.nixpkgs.follows = "nixpkgs";
hyprland-contrib.url = "github:hyprwm/contrib"; hyprland-contrib.url = "github:hyprwm/contrib";
hyprland-contrib.inputs.nixpkgs.follows = "nixpkgs"; hyprland-contrib.inputs.nixpkgs.follows = "nixpkgs";
nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland";
nixpkgs-wayland = { nixpkgs-wayland.inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/nixpkgs-wayland";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nix-eval-jobs.follows = "nix-eval-jobs";
};
nix-eval-jobs.url = "github:nix-community/nix-eval-jobs";
nix-eval-jobs.inputs.nixpkgs.follows = "nixpkgs";
pinix.url = "github:remi-dupre/pinix"; pinix.url = "github:remi-dupre/pinix";
pinix.inputs.nixpkgs.follows = "nixpkgs"; pinix.inputs.nixpkgs.follows = "nixpkgs";

View file

@ -5,12 +5,12 @@
}: { }: {
imports = with self.nixosModules; [ imports = with self.nixosModules; [
nix-ld nix-ld
virtualbox
restic restic
docker docker
]; ];
oizys = { oizys = {
vbox.enable = true;
desktop.enable = true; desktop.enable = true;
vpn.enable = true; vpn.enable = true;
languages = [ languages = [

View file

@ -44,7 +44,7 @@
boot.loader.systemd-boot.enable = true; boot.loader.systemd-boot.enable = true;
boot.loader.systemd-boot.consoleMode = "max"; boot.loader.systemd-boot.consoleMode = "max";
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxPackages_latest; # boot.kernelPackages = pkgs.linuxPackages_latest;
# This option defines the first version of NixOS you have installed on this particular machine, # This option defines the first version of NixOS you have installed on this particular machine,
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions. # and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.

View file

@ -6,7 +6,7 @@
lib = nixpkgs.lib.extend (import ./extended.nix); lib = nixpkgs.lib.extend (import ./extended.nix);
inherit (builtins) concatLists attrValues mapAttrs elemAt match readDir filter listToAttrs; inherit (builtins) concatLists attrValues mapAttrs elemAt match readDir filter listToAttrs;
inherit (lib) hasSuffix nixosSystem genAttrs isNixFile; inherit (lib) nixosSystem genAttrs isNixFile;
inherit (lib.filesystem) listFilesRecursive; inherit (lib.filesystem) listFilesRecursive;
#supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"]; #supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];

View file

@ -2,7 +2,6 @@ final: prev: let
inherit (final) hasSuffix; inherit (final) hasSuffix;
runes = import ../modules/runes; runes = import ../modules/runes;
in { in {
isNixFile = path: hasSuffix ".nix" path; isNixFile = path: hasSuffix ".nix" path;
mkIfIn = name: list: prev.mkIf (builtins.elem name list); mkIfIn = name: list: prev.mkIf (builtins.elem name list);
mkRune = { mkRune = {

View file

@ -19,6 +19,8 @@
qtile qtile
hyprland hyprland
virtualbox
gui gui
languages languages

View file

@ -3,7 +3,7 @@
vim vim
neovim neovim
nixd # nixd
tree-sitter tree-sitter
]; ];
} }

View file

@ -1,11 +1,9 @@
{ {
config, config,
lib, lib,
pkgs,
... ...
}: let }: let
inherit (lib) mkOption types literalExpression mdDoc; inherit (lib) mkOption types literalExpression mdDoc;
cfg = config.oizys.languages;
in { in {
imports = [./nim.nix ./tex.nix ./misc.nix ./node.nix ./python.nix]; imports = [./nim.nix ./tex.nix ./misc.nix ./node.nix ./python.nix];
options.oizys.languages = mkOption { options.oizys.languages = mkOption {

View file

@ -6,7 +6,6 @@
}: let }: let
inherit (lib) mkIfIn; inherit (lib) mkIfIn;
cfg = config.oizys.languages; cfg = config.oizys.languages;
pixi = pkgs.callPackage ../../pkgs/pixi.nix {};
in { in {
config = mkIfIn "python" cfg { config = mkIfIn "python" cfg {
environment.systemPackages = let environment.systemPackages = let

View file

@ -4,7 +4,7 @@
pkgs, pkgs,
... ...
}: let }: let
inherit (lib) mkIf mkIfIn; inherit (lib) mkIfIn;
cfg = config.oizys.languages; cfg = config.oizys.languages;
in { in {
config = mkIfIn "tex" cfg { config = mkIfIn "tex" cfg {

View file

@ -22,6 +22,7 @@
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
nil
alejandra alejandra
self.packages.${pkgs.system}.oizys self.packages.${pkgs.system}.oizys

View file

@ -1,7 +1,16 @@
{...}: { {
virtualisation.virtualbox = { config,
host.enable = true; lib,
# guest.enable = true; ...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.oizys.vbox;
in {
options.oizys.vbox.enable = mkEnableOption "enable virtualbox host";
config = mkIf cfg.enable {
virtualisation.virtualbox = {
host.enable = true;
};
users.extraGroups.vboxusers.members = ["daylin"];
}; };
users.extraGroups.vboxusers.members = ["daylin"];
} }

View file

@ -1,23 +1,38 @@
import std/[os, osproc, parseopt, times, strutils, terminal] import std/[macros, os, osproc, parseopt, times, strformat, strutils, terminal]
from std/nativesockets import getHostname from std/nativesockets import getHostname
let summaryFile = getEnv("GITHUB_STEP_SUMMARY") let summaryFile = getEnv("GITHUB_STEP_SUMMARY")
proc info(args: varargs[string, `$`]) = macro doc(procedure: typed): untyped =
## extract documenatation comments from procedure
procedure.expectKind(nnkSym)
if procedure.symKind != nskProc:
error("procedure expected", procedure)
let
impl = procedure.getImpl
docs = impl.body.extractDocCommentsAndRunnables
var doc: string
for element in docs:
if element.kind == nnkCommentStmt:
doc.addSep("\n", startLen = 1)
doc.add($element)
result = newLit(doc)
proc logInfo(args: varargs[string, `$`]) =
stdout.styledWriteLine( stdout.styledWriteLine(
fgCyan, "oizys", resetStyle, "|", fgCyan, "oizys", resetStyle, "|",
styleDim, "INFO", resetStyle, "| ", styleDim, "INFO", resetStyle, "| ",
args.join("") args.join("")
) )
proc error(args: varargs[string, `$`]) = proc logErr(args: varargs[string, `$`]) =
stdout.styledWriteLine( stdout.styledWriteLine(
fgCyan, "oizys", resetStyle, "|", fgCyan, "oizys", resetStyle, "|",
fgRed, "ERROR", resetStyle, "| ", fgRed, "ERROR", resetStyle, "| ",
args.join("") args.join("")
) )
proc warn(args: varargs[string, `$`]) = proc logWarn(args: varargs[string, `$`]) =
stdout.styledWriteLine( stdout.styledWriteLine(
fgCyan, "oizys", resetStyle, "|", fgCyan, "oizys", resetStyle, "|",
fgYellow, "WARN", resetStyle, "| ", fgYellow, "WARN", resetStyle, "| ",
@ -34,7 +49,7 @@ type
proc execQuit(c: OizysContext, args: varargs[string]) = proc execQuit(c: OizysContext, args: varargs[string]) =
let cmd = (@args & c.extraArgs).join(" ") let cmd = (@args & c.extraArgs).join(" ")
info "exec: ", cmd logInfo "exec: ", cmd
quit (execCmd cmd) quit (execCmd cmd)
proc newCtx(): OizysContext = proc newCtx(): OizysContext =
@ -44,11 +59,11 @@ proc newCtx(): OizysContext =
proc check(c: OizysContext) = proc check(c: OizysContext) =
if not dirExists c.flake: if not dirExists c.flake:
error c.flake, " does not exist" logErr c.flake, "does not exist"
error "please use -f/--flake or $FLAKE_PATH" logErr "please use -f/--flake or $FLAKE_PATH"
quit 1 quit 1
info "flake: ", c.flake logInfo "flake:", c.flake
info "host: ", c.host logInfo "host:", c.host
proc cmd(c: OizysContext): string {.inline.} = proc cmd(c: OizysContext): string {.inline.} =
let pixExists = findExe("pix") != "" let pixExists = findExe("pix") != ""
@ -56,7 +71,7 @@ proc cmd(c: OizysContext): string {.inline.} =
if pixExists: if pixExists:
return "pix" return "pix"
else: else:
warn "pinix not found, falling back to nix" logWarn "pinix not found, falling back to nix"
return "nix" return "nix"
proc systemFlakePath(c: OizysContext): string = proc systemFlakePath(c: OizysContext): string =
@ -71,6 +86,7 @@ proc dry(c: OizysContext) =
execQuit c, c.cmd, "build", c.systemFlakePath, "--dry-run" execQuit c, c.cmd, "build", c.systemFlakePath, "--dry-run"
proc cache(c: OizysContext) = proc cache(c: OizysContext) =
## build and push to cachix
let start = now() let start = now()
let code = execCmd """ let code = execCmd """
cachix watch-exec """ & c.cache & """ \ cachix watch-exec """ & c.cache & """ \
@ -79,16 +95,18 @@ proc cache(c: OizysContext) =
--print-build-logs \ --print-build-logs \
--accept-flake-config --accept-flake-config
""" """
let duration = (now() - start) let duration = (now() - start)
if code != 0: if code != 0:
error "faile to build configuration for: ", c.host logErr "failed to build configuration for: ", c.host
quit code
if summaryFile != "": if summaryFile != "":
writeFile( writeFile(
summaryFile, summaryFile,
"Built host: " & c.host & " in " & $duration & " seconds" "Built host: " & c.host & " in " & $duration & " seconds"
) )
info "Built host: " & c.host & " in " & $duration & " seconds" logInfo "Built host: " & c.host & " in " & $duration & " seconds"
proc nixosRebuild(c: OizysContext, subcmd: string) = proc nixosRebuild(c: OizysContext, subcmd: string) =
@ -103,15 +121,20 @@ proc switch(c: OizysContext) =
## nixos rebuild switch ## nixos rebuild switch
nixosRebuild c, "switch" nixosRebuild c, "switch"
const usage = """ proc path(c: OizysContext) =
## print nix flake output
echo c.systemFlakePath
const usage = fmt"""
oizys <cmd> [opts] oizys <cmd> [opts]
commands: commands:
dry poor man's nix flake check dry {dry.doc}
boot nixos-rebuild boot boot {boot.doc}
switch nixos-rebuild switch switch {switch.doc}
cache build and push to cachix cache {cache.doc}
build build system flake build {build.doc}
path {path.doc}
options: options:
-h|--help show this help -h|--help show this help
@ -129,8 +152,9 @@ proc runCmd(c: OizysContext, cmd: string) =
of "boot": boot c of "boot": boot c
of "cache": cache c of "cache": cache c
of "build": build c of "build": build c
of "path": path c
else: else:
error "unknown command: ", cmd logErr "unknown command: ", cmd
echo usage echo usage
quit 1 quit 1
@ -159,11 +183,9 @@ when isMainModule:
for kind, key, val in p.getopt(): for kind, key, val in p.getopt():
case kind case kind
of cmdArgument: of cmdArgument:
echo key
subcmd = key subcmd = key
of cmdLongOption, cmdShortOption: of cmdLongOption, cmdShortOption:
if key == "": if key == "": break
break
parseFlag c, kind, key, val parseFlag c, kind, key, val
of cmdEnd: of cmdEnd:
discard discard

View file

@ -10,5 +10,16 @@
(f: f != "default.nix") (f: f != "default.nix")
(builtins.attrNames (builtins.readDir ./.))); (builtins.attrNames (builtins.readDir ./.)));
in { in {
nixpkgs.overlays = defaultOverlays; nixpkgs.overlays =
defaultOverlays
++ [
(
final: _prev: {
stable = import inputs.stable {
system = final.system;
config.allowUnfree = true;
};
}
)
];
} }

View file

@ -1,14 +1,15 @@
{...}: (final: prev: { {...}: (final: prev: {
nimble = prev.nimble.overrideNimAttrs { nimble = prev.nimble.overrideNimAttrs {
version = "0.14.2-f74bf2"; version = "0.14.2-5e7901760e89108476a4e21976a0ef783403e8fe";
requiredNimVersion = 2; requiredNimVersion = 2;
buildInputs = [prev.pkgs.openssl]; buildInputs = [prev.pkgs.openssl];
src = final.fetchFromGitHub { src = final.fetchFromGitHub {
owner = "nim-lang"; owner = "nim-lang";
repo = "nimble"; repo = "nimble";
# more recent commit
rev = "f74bf2bc388f7a0154104b4bcaa093a499d3f0f7"; # most recent commit 2024-03-11
rev = "5e7901760e89108476a4e21976a0ef783403e8fe";
hash = "sha256-8b5yKvEl7c7wA/8cpdaN2CSvawQJzuRce6mULj3z/mI="; hash = "sha256-8b5yKvEl7c7wA/8cpdaN2CSvawQJzuRce6mULj3z/mI=";
}; };
}; };

View file

@ -1,76 +0,0 @@
{ lib
, stdenv
, rustPlatform
, fetchFromGitHub
, pkg-config
, openssl
, installShellFiles
, darwin
, testers
, pixi
}:
rustPlatform.buildRustPackage rec {
pname = "pixi";
version = "0.15.2";
src = fetchFromGitHub {
owner = "prefix-dev";
repo = "pixi";
rev = "v${version}";
hash = "sha256-bh8Uu6Q2AND50Qzivc6k1Z8JWudkHC2i4YW1Hxa69SM=";
};
cargoHash = "sha256-yMIcPwnuN7F2ZrOtJw8T+nxeSzLsYn+iC34bYeWpi/w=";
nativeBuildInputs = [
pkg-config
installShellFiles
];
buildInputs = [
openssl
]
++ lib.optionals stdenv.isDarwin (
with darwin.apple_sdk_11_0.frameworks; [ CoreFoundation IOKit SystemConfiguration Security ]
);
# There are some CI failures with Rattler. Tests on Aarch64 has been skipped.
# See https://github.com/prefix-dev/pixi/pull/241.
doCheck = !stdenv.isAarch64;
preCheck = ''
export HOME="$(mktemp -d)"
'';
checkFlags = [
# Skip tests requiring network
"--skip=add_channel"
"--skip=add_functionality"
"--skip=add_functionality_os"
"--skip=add_functionality_union"
"--skip=add_pypi_functionality"
"--skip=test_alias"
"--skip=test_cwd"
"--skip=test_incremental_lock_file"
];
postInstall = ''
installShellCompletion --cmd pix \
--bash <($out/bin/pixi completion --shell bash) \
--fish <($out/bin/pixi completion --shell fish) \
--zsh <($out/bin/pixi completion --shell zsh)
'';
passthru.tests.version = testers.testVersion {
package = pixi;
};
meta = with lib; {
description = "Package management made easy";
homepage = "https://pixi.sh/";
license = licenses.bsd3;
maintainers = with lib.maintainers; [ aaronjheng edmundmiller ];
mainProgram = "pixi";
};
}

View file

@ -4,4 +4,7 @@
- [ ] trackdown wezterm bug... (try building from flake?) - [ ] trackdown wezterm bug... (try building from flake?)
> https://github.com/wez/wezterm/issues/5067 > https://github.com/wez/wezterm/issues/5067
- [ ] Check if vivaldi-ffmpeg-codecs are out of date
https://forum.vivaldi.net/topic/88884/page-crash-due-to-read-out-of-range-on-nixos/12
<!-- generated with <3 by daylinmorgan/todo --> <!-- generated with <3 by daylinmorgan/todo -->