Compare commits

...

7 commits

Author SHA1 Message Date
128ddc47a9
revert checks to old setup 2024-06-18 12:41:26 -05:00
a2d7340ae8
flake.lock: Update
Flake lock file updates:

• Updated input 'f1multiviewer':
    'github:daylinmorgan/f1multiviewer-flake/89653c7aa046dd23fd61b2ddae6c55725857b224' (2024-05-21)
  → 'github:daylinmorgan/f1multiviewer-flake/a04a548c5e88933a2aed21544d18812860f14212' (2024-06-18)
• Updated input 'f1multiviewer/nixpkgs':
    'github:nixos/nixpkgs/fd281bd6b7d3e32ddfa399853946f782553163b5' (2024-04-03)
  → 'github:nixos/nixpkgs/b60ebf54c15553b393d144357375ea956f89e9a9' (2024-06-16)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/683aa7c4e385509ca651d49eeb35e58c7a1baad6' (2024-06-16)
  → 'github:nixos/nixpkgs/38d3352a65ac9d621b0cd3074d3bef27199ff78f' (2024-06-17)
• Updated input 'nixpkgs-wayland':
    'github:nix-community/nixpkgs-wayland/6b09276c557dd29bb043abb472007dc4a1f4f470' (2024-06-18)
  → 'github:nix-community/nixpkgs-wayland/7a80040b517fdfcf8a97749b58afc47bbea4b8c8' (2024-06-18)
• Updated input 'zls':
    'github:zigtools/zls/2f7343e37e7647c7d44dfce83c2339861ab810c3' (2024-06-16)
  → 'github:zigtools/zls/cfea2d55798418cccdf27b1b1bde0f70bff1b8f2' (2024-06-18)
2024-06-18 12:40:53 -05:00
35c93707de
use system path in CI 2024-06-18 12:25:21 -05:00
c84ef6a384
add system-path output option 2024-06-18 12:23:42 -05:00
d1cd4900b4
try system-path builder 2024-06-18 11:44:01 -05:00
5004ce8353
use hyprland nixosModule 2024-06-18 10:45:51 -05:00
a4d27c83c1
only evaluate oizys-go 2024-06-18 10:37:26 -05:00
10 changed files with 132 additions and 83 deletions

View file

@ -20,7 +20,6 @@ on:
default: 'othalan aligz'
type: string
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ inputs.host }}
cancel-in-progress: true
@ -34,7 +33,10 @@ jobs:
- uses: ./.github/actions/clean-disk
- uses: DeterminateSystems/nix-installer-action@main
- uses: DeterminateSystems/nix-installer-action@v12
with:
extra-conf: |
accept-flake-config = true
- uses: DeterminateSystems/magic-nix-cache-action@v7
- uses: cachix/cachix-action@v15
@ -51,5 +53,6 @@ jobs:
- name: Build
run: |
for host in ${{ inputs.host }}; do
nix run . --accept-flake-config -- cache --host "$host" --flake .
cachix watch-exec daylin -- nix build --print-build-logs "$(nix run . -- output --system-path --host "$host" --flake .)^*"
# nix run . --accept-flake-config -- cache --host "$host" --flake .
done

View file

@ -8,12 +8,8 @@ on:
description: 'flake.lock file'
type: string
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ inputs.host }}
cancel-in-progress: true
jobs:
build:
checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@ -23,6 +19,9 @@ jobs:
purge-packages: false
- uses: DeterminateSystems/nix-installer-action@main
with:
extra-conf: |
accept-flake-config = true
- uses: DeterminateSystems/magic-nix-cache-action@v7
- uses: cachix/cachix-action@v15
@ -38,4 +37,5 @@ jobs:
- name: Build
run: |
cachix watch-exec daylin -- nix build --accept-flake-config '.#checks.x86_64-linux.makePackages'
set -euo pipefail
cachix watch-exec daylin -- nix build '.#checks.x86_64-linux.makePackages'

View file

@ -8,13 +8,17 @@ on:
branches:
- main
jobs:
checks:
uses: ./.github/workflows/checks.yml
secrets: inherit
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ inputs.host }}
cancel-in-progress: true
jobs:
# checks:
# uses: ./.github/workflows/checks.yml
# secrets: inherit
build:
needs: checks
# needs: checks
strategy:
max-parallel: 1
matrix:

View file

@ -5,11 +5,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1716316901,
"narHash": "sha256-AWzUBSlgPVszYMk611mHgoHCA/hXjzos50KvKJfHCs8=",
"lastModified": 1718728970,
"narHash": "sha256-R8FjmfsIrTUXMPtmjCNKeTR6cBMCY75WMnH5PfGXHFQ=",
"owner": "daylinmorgan",
"repo": "f1multiviewer-flake",
"rev": "89653c7aa046dd23fd61b2ddae6c55725857b224",
"rev": "a04a548c5e88933a2aed21544d18812860f14212",
"type": "github"
},
"original": {
@ -305,11 +305,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1718633685,
"narHash": "sha256-dAuZ6mIIVQraN1PnCe12Qwdcs/Nvfe/zfSy45ED5aso=",
"lastModified": 1718723174,
"narHash": "sha256-cPIOblG2H8Z934FPeuU0I6kI1Ke8ZbF330Nq/hTJ2uU=",
"ref": "refs/heads/main",
"rev": "a9c7a0830fd9a8b9fc4065f1cd654efd1326691a",
"revCount": 4856,
"rev": "236150b3c5227bbfbe46d2610c739a386afdca1f",
"revCount": 4859,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland/"
@ -630,11 +630,11 @@
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1718470009,
"narHash": "sha256-VBeDG3we0bkbFWMyZy+wjUkmeDN58pGFzw1dQCTeDV8=",
"lastModified": 1718710563,
"narHash": "sha256-O4rrM0Bkh3IRe8D600iniQ52QTmlnuTSp2KyXV7C2jE=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "e0a970cbb8c3af05c80ef48a336ad91efd9b2bf6",
"rev": "2fb93bea657ad99a7005ef601c67cb2820560a41",
"type": "github"
},
"original": {
@ -645,11 +645,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1712163089,
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
"lastModified": 1718530797,
"narHash": "sha256-pup6cYwtgvzDpvpSCFh1TEUjw2zkNpk8iolbKnyFmmU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "fd281bd6b7d3e32ddfa399853946f782553163b5",
"rev": "b60ebf54c15553b393d144357375ea956f89e9a9",
"type": "github"
},
"original": {
@ -682,11 +682,11 @@
"nixpkgs": "nixpkgs_8"
},
"locked": {
"lastModified": 1718630464,
"narHash": "sha256-GXuN6MmzNomxT9VOEFu4iwP1kRTJ7F3/HdOzeDGPE1c=",
"lastModified": 1718727726,
"narHash": "sha256-WIoMGbYpJMc9TTPeJeoGXRw5KaUkqDVMmtQp412ThOk=",
"owner": "nix-community",
"repo": "nixpkgs-wayland",
"rev": "4a3b27cc9526208686896d0ef01c7bb67a47b91f",
"rev": "7a80040b517fdfcf8a97749b58afc47bbea4b8c8",
"type": "github"
},
"original": {
@ -745,11 +745,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1717696253,
"narHash": "sha256-1+ua0ggXlYYPLTmMl3YeYYsBXDSCqT+Gw3u6l4gvMhA=",
"lastModified": 1718437845,
"narHash": "sha256-ZT7Oc1g4I4pHVGGjQFnewFVDRLH5cIZhEzODLz9YXeY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "9b5328b7f761a7bbdc0e332ac4cf076a3eedb89b",
"rev": "752c634c09ceb50c45e751f8791cb45cb3d46c9e",
"type": "github"
},
"original": {
@ -761,11 +761,11 @@
},
"nixpkgs_6": {
"locked": {
"lastModified": 1718428119,
"narHash": "sha256-WdWDpNaq6u1IPtxtYHHWpl5BmabtpmLnMAx0RdJ/vo8=",
"lastModified": 1718606988,
"narHash": "sha256-pmjP5ePc1jz+Okona3HxD7AYT0wbrCwm9bXAlj08nDM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e6cea36f83499eb4e9cd184c8a8e823296b50ad5",
"rev": "38d3352a65ac9d621b0cd3074d3bef27199ff78f",
"type": "github"
},
"original": {
@ -793,11 +793,11 @@
},
"nixpkgs_8": {
"locked": {
"lastModified": 1718318537,
"narHash": "sha256-4Zu0RYRcAY/VWuu6awwq4opuiD//ahpc2aFHg2CWqFY=",
"lastModified": 1718530797,
"narHash": "sha256-pup6cYwtgvzDpvpSCFh1TEUjw2zkNpk8iolbKnyFmmU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e9ee548d90ff586a6471b4ae80ae9cfcbceb3420",
"rev": "b60ebf54c15553b393d144357375ea956f89e9a9",
"type": "github"
},
"original": {
@ -1169,11 +1169,11 @@
]
},
"locked": {
"lastModified": 1718624172,
"narHash": "sha256-ZWrhjpNX6WSdjnSV8/JTaSLLqY4VqRp9ql16DldcGYk=",
"lastModified": 1718673535,
"narHash": "sha256-KCHMePFrijSscQt6A4rtRJxciOaQXgHyGpqi9dzdy8E=",
"owner": "Cloudef",
"repo": "zig2nix",
"rev": "26b1364329ffb4c910da43c53f6be27b140723de",
"rev": "60a6e8d97759da986a488528d86548f611c89edb",
"type": "github"
},
"original": {
@ -1193,11 +1193,11 @@
"zig-overlay": "zig-overlay"
},
"locked": {
"lastModified": 1718570415,
"narHash": "sha256-VT5dPbvU/R90kU53OTa8gjynGU98o/QxGHzoP03g0IU=",
"lastModified": 1718724404,
"narHash": "sha256-BnXu0u0H74cyVOEneESQoCqMCf9zgSrkSx2QVuYztVY=",
"owner": "zigtools",
"repo": "zls",
"rev": "2f7343e37e7647c7d44dfce83c2339861ab810c3",
"rev": "cfea2d55798418cccdf27b1b1bde0f70bff1b8f2",
"type": "github"
},
"original": {

View file

@ -17,9 +17,11 @@ in
nativeBuildInputs = [
pkgs.pixi
pkgs.swww
pkgs.xdg-desktop-portal-hyprland
pkgs.nixVersions.stable
inputs.hyprland.packages.${pkgs.system}.default
inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland
inputs.tsm.packages.${pkgs.system}.default
inputs.hyprman.packages.${pkgs.system}.default

View file

@ -33,6 +33,7 @@ let
../modules/oizys.nix
../overlays
inputs.lix-module.nixosModules.default
inputs.hyprland.nixosModules.default
] ++ filter isNixFile (listFilesRecursive (../. + "/hosts/${hostName}"));
specialArgs = {
inherit
@ -53,9 +54,9 @@ in
nixosModules = listToAttrs (findModulesList ../modules);
nixosConfigurations = mapAttrs (name: _: mkSystem name) (readDir ../hosts);
packages = forAllSystems (pkgs: rec {
oizys-zig = pkgs.callPackage ../pkgs/oizys/oizys-zig { inherit zig2nix; };
oizys-nim = pkgs.callPackage ../pkgs/oizys/oizys-nim { };
oizys-rs = pkgs.callPackage ../pkgs/oizys/oizys-rs { };
# oizys-zig = pkgs.callPackage ../pkgs/oizys/oizys-zig { inherit 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 { inherit self lib; };
default = oizys-go;
});

View file

@ -6,18 +6,11 @@
enabled,
...
}:
# let
# lock = pkgs.writeShellApplication {
# name = "lock";
# runtimeInputs = with pkgs; [swaylock];
# text = ''
# swaylock -c 1e1e2e
# '';
# };
mkOizysModule config "hyprland" {
programs.hyprland = enabled // {
package = inputs.hyprland.packages.${pkgs.system}.default;
};
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";

View file

@ -14,6 +14,8 @@ var outputCmd = &cobra.Command{
},
}
func init() {
rootCmd.AddCommand(outputCmd)
outputCmd.Flags().BoolVar(&systemPath, "system-path", false, "show system-path drv")
}

View file

@ -27,11 +27,12 @@ func Execute() {
}
var (
flake string
host string
cacheName string
verbose bool
nom bool
flake string
host string
cacheName string
verbose bool
nom bool
systemPath bool
)
var oizys = o.NewOizys()
@ -40,7 +41,7 @@ var rootCmd = &cobra.Command{
Use: "oizys",
Short: "nix begat oizys",
PersistentPreRun: func(cmd *cobra.Command, args []string) {
oizys.Set(flake, host, cacheName, verbose)
oizys.Set(flake, host, cacheName, verbose, systemPath)
oizys.CheckFlake()
},
}

View file

@ -19,10 +19,11 @@ import (
// verbose vs debug?
type Oizys struct {
flake string
host string
cache string
verbose bool
flake string
host string
cache string
verbose bool
systemPath bool
}
func NewOizys() *Oizys {
@ -42,7 +43,44 @@ func NewOizys() *Oizys {
return &Oizys{flake: flake, host: hostname, cache: "daylin"}
}
func (o *Oizys) Output() string {
type Derivation struct {
InputDrvs map[string]interface{}
}
func parseSystemPath(derivation map[string]Derivation) (string, error) {
for _, nixosDrv := range derivation {
for drv := range nixosDrv.InputDrvs {
if strings.HasSuffix(drv, "system-path.drv") {
return drv, nil
}
}
}
return "", errors.New("failed to find path for system-path.drv")
}
// recreating this command
// nix derivation show `oizys output` | jq -r '.[].inputDrvs | with_entries(select(.key|match("system-path";"i"))) | keys | .[]'
func (o *Oizys) getSystemPath() string {
cmd := exec.Command("nix", "derivation", "show", o.nixosConfigAttr())
log.Println("evaluating to get system-path")
cmd.Stderr = os.Stderr
out, err := cmd.Output()
if err != nil {
log.Fatal(err)
}
var derivation map[string]Derivation
if err := json.Unmarshal(out, &derivation); err != nil {
log.Fatal(err)
}
systemPath, err := parseSystemPath(derivation)
if err != nil {
log.Fatal(err)
}
return systemPath
}
func (o *Oizys) nixosConfigAttr() string {
return fmt.Sprintf(
"%s#nixosConfigurations.%s.config.system.build.toplevel",
o.flake,
@ -50,9 +88,17 @@ func (o *Oizys) Output() string {
)
}
func (o *Oizys) Output() string {
if o.systemPath {
return o.getSystemPath()
} else {
return o.nixosConfigAttr()
}
}
func (o *Oizys) Set(
flake, host, cache string,
verbose bool,
verbose, systemPath bool,
) {
if host != "" {
o.host = host
@ -64,6 +110,7 @@ func (o *Oizys) Set(
o.cache = cache
}
o.verbose = verbose
o.systemPath = systemPath
}
func terminalSize() (int, int) {
@ -153,7 +200,11 @@ func (o *Oizys) git(rest ...string) *exec.Cmd {
}
func showFailedOutput(buf []byte) {
arrow := lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("9")).Render("->")
arrow := lipgloss.
NewStyle().
Bold(true).
Foreground(lipgloss.Color("9")).
Render("->")
for _, line := range strings.Split(strings.TrimSpace(string(buf)), "\n") {
fmt.Println(arrow, line)
}
@ -208,7 +259,7 @@ func showDryRunResult(nixOutput string, verbose bool) {
func (o *Oizys) NixDryRun(verbose bool, rest ...string) {
args := []string{
"build", o.Output(), "--dry-run",
"build", o.nixosConfigAttr(), "--dry-run",
}
args = append(args, rest...)
cmd := exec.Command("nix", args...)
@ -302,7 +353,7 @@ func (o *Oizys) Checks(nom bool, rest ...string) {
func (o *Oizys) CacheBuild(rest ...string) {
args := []string{
"watch-exec", o.cache, "--", "nix",
"build", o.Output(), "--print-build-logs",
"build", o.nixosConfigAttr(), "--print-build-logs",
"--accept-flake-config",
}
args = append(args, rest...)
@ -325,14 +376,6 @@ func (o *Oizys) CI(rest ...string) {
runCommand(cmd)
}
func Output(flake string, host string) string {
return fmt.Sprintf(
"%s#nixosConfigurations.%s.config.system.build.toplevel",
flake,
host,
)
}
func nixSpinner(host string) *spinner.Spinner {
msg := fmt.Sprintf("%s %s", " evaluating derivation for:",
lipgloss.NewStyle().Bold(true).Foreground(lipgloss.Color("6")).Render(host),