Compare commits

..

No commits in common. "7b6cdedcd14acd86d0ac0d977ce36c73ce8cf973" and "ef3153ffc1974dad850395d472e2bef224516da3" have entirely different histories.

12 changed files with 106 additions and 105 deletions

View file

@ -193,26 +193,27 @@
"hyprland": {
"inputs": {
"hyprcursor": "hyprcursor",
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_2",
"systems": "systems",
"wlroots": "wlroots",
"xdph": "xdph"
},
"locked": {
"lastModified": 1714933694,
"narHash": "sha256-gziEBZF1wmBBw3v0Ang3nN3QwoQWtFmBIORODJt38TE=",
"ref": "refs/heads/main",
"rev": "cddeec47a1fc0e70d8598fd10c29cd0e9489999f",
"revCount": 4617,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
"lastModified": 1714568252,
"narHash": "sha256-sPHpRfM+D5P4ZuADRSCiAhhk1/ZQHHX0SYUIoD2l4DQ=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "4ed6b69b68a544a81cec583a1ad8aff218f7db5d",
"type": "github"
},
"original": {
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
"owner": "hyprwm",
"ref": "main",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-contrib": {
@ -237,21 +238,19 @@
"inputs": {
"nixpkgs": [
"hyprland",
"xdph",
"nixpkgs"
],
"systems": [
"hyprland",
"xdph",
"systems"
]
},
"locked": {
"lastModified": 1714869498,
"narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=",
"lastModified": 1691753796,
"narHash": "sha256-zOEwiWoXk3j3+EoF3ySUJmberFewWlagvewDRuWYAso=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "e06482e0e611130cd1929f75e8c1cf679e57d161",
"rev": "0c2ce70625cb30aef199cb388f99e19a61a6ce03",
"type": "github"
},
"original": {
@ -297,11 +296,11 @@
]
},
"locked": {
"lastModified": 1714755542,
"narHash": "sha256-D0pg+ZRwrt4lavZ97Ca8clsgbPA3duLj8iEM7riaIFY=",
"lastModified": 1714171579,
"narHash": "sha256-eaWDIvt8ufUKKz3Lc2a3PyemLJG1m9RYlF+HP3hWbaw=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "1270ebaa539e56d61b708c24b072b09cbbd3a828",
"rev": "126dad854f22fe30e6b82cd21808e76903d90ac5",
"type": "github"
},
"original": {
@ -328,11 +327,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1714910950,
"narHash": "sha256-gaq5bphSsY+htEXFDkImOrH3MVCkxFTvCiwdCJj096E=",
"lastModified": 1714306226,
"narHash": "sha256-CA7bfnDt9TcFc7I8eKHf72DodYUEETDPgmBFXBRP9/E=",
"owner": "nix-community",
"repo": "lib-aggregate",
"rev": "26fabca301e1133abd3d9192b1bcb6fb45b30f1d",
"rev": "49d9b510614b9bd137e067eb31445a8feca83313",
"type": "github"
},
"original": {
@ -391,11 +390,11 @@
]
},
"locked": {
"lastModified": 1714878592,
"narHash": "sha256-E68C03sYRsYFsK7wiGHUIJm8IsyPRALOrFoTL0glXnI=",
"lastModified": 1714273701,
"narHash": "sha256-bmoeZ5zMSSO/e8P51yjrzaxA9uzA3SZAEFvih6S3LFo=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "a362555e9dbd4ecff3bb98969bbdb8f79fe87f10",
"rev": "941c4973c824509e0356be455d89613611f76c8a",
"type": "github"
},
"original": {
@ -422,11 +421,11 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1714870069,
"narHash": "sha256-CNCqCGOHdxuiVnVkhTpp2WcqSSmSfeQjubhDOcgwGjU=",
"lastModified": 1714265296,
"narHash": "sha256-jVnKiCOoFulPT1zDdA4jfG/lnEnngdth5CT6rVDXEJ4=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "4b620020fd73bdd5104e32c702e65b60b6869426",
"rev": "ade4fb7bbf04cd52bc1705734d5dc67755d77ec9",
"type": "github"
},
"original": {
@ -443,11 +442,11 @@
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1714926024,
"narHash": "sha256-LbSVziNYk/nxfYeyxKNhV/ryfbCUUZVlWoG5KG0sOxk=",
"lastModified": 1714525911,
"narHash": "sha256-XYARtyCpKeL0IosMSzeHl6YFblV3n4y7plM+K9fg4N4=",
"owner": "nix-community",
"repo": "nixpkgs-wayland",
"rev": "eb44cc5dcc75c33e7f246c9f38b96f158b3f6e9d",
"rev": "4cbf82124f2c03fa5b1b669771c48f9927264684",
"type": "github"
},
"original": {
@ -458,11 +457,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1714253743,
"narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=",
"lastModified": 1713714899,
"narHash": "sha256-+z/XjO3QJs5rLE5UOf015gdVauVRQd2vZtsFkaXBq2Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994",
"rev": "6143fc5eeb9c4f00163267708e26191d1e918932",
"type": "github"
},
"original": {
@ -490,11 +489,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1714809261,
"narHash": "sha256-hfBmnYFyz9I1mdrC3tX1A+dF9cOUcds5PIMPxrT+cRk=",
"lastModified": 1714656196,
"narHash": "sha256-kjQkA98lMcsom6Gbhw8SYzmwrSo+2nruiTcTZp5jK7o=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d32560238207b8e26d88b265207b216ee46b8450",
"rev": "94035b482d181af0a0f8f77823a790b256b7c3cc",
"type": "github"
},
"original": {
@ -522,11 +521,11 @@
},
"nixpkgs_6": {
"locked": {
"lastModified": 1714763106,
"narHash": "sha256-DrDHo74uTycfpAF+/qxZAMlP/Cpe04BVioJb6fdI0YY=",
"lastModified": 1714253743,
"narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "e9be42459999a253a9f92559b1f5b72e1b44c13d",
"rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994",
"type": "github"
},
"original": {
@ -573,11 +572,11 @@
},
"stable": {
"locked": {
"lastModified": 1714782413,
"narHash": "sha256-tbg0MEuKaPcUrnmGCu4xiY5F+7LW2+ECPKVAJd2HLwM=",
"lastModified": 1714409183,
"narHash": "sha256-Wacm/DrzLD7mjFGnSxxyGkJgg2unU/dNdNgdngBH+RU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "651b4702e27a388f0f18e1b970534162dec09aff",
"rev": "576ecd43d3b864966b4423a853412d6177775e8b",
"type": "github"
},
"original": {
@ -691,9 +690,29 @@
"type": "github"
}
},
"wlroots": {
"flake": false,
"locked": {
"lastModified": 1713731601,
"narHash": "sha256-bdcKdtLkusvv85DNuJsajZLFeq7bXp+x5AGP1Sd4wD8=",
"owner": "hyprwm",
"repo": "wlroots-hyprland",
"rev": "5c1d51c5a2793480f5b6c4341ad0797052aec2ea",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "wlroots-hyprland",
"rev": "5c1d51c5a2793480f5b6c4341ad0797052aec2ea",
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": "hyprland-protocols",
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland",
"hyprlang"
@ -708,11 +727,11 @@
]
},
"locked": {
"lastModified": 1714060055,
"narHash": "sha256-j43TS9wv9luaAlpxcxw0sjxkbcc2mGANVR2RYgo3RCw=",
"lastModified": 1713724432,
"narHash": "sha256-dtU1y4oj/0Y42oauzm93ucFg1AoqETnQ21bmXTIUng0=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "0fe840441e43da12cd7865ed9aa8cdc35a8da85a",
"rev": "9ace6f969ce495185df34cc6254fb9d297765478",
"type": "github"
},
"original": {
@ -752,11 +771,11 @@
]
},
"locked": {
"lastModified": 1714871906,
"narHash": "sha256-HDtmvjUjWVq+EIvem2rwRrGhR13KYqCQKq5xSm3mP+8=",
"lastModified": 1714526316,
"narHash": "sha256-Gv8hKB0JKQn3xFekNcu1Mz/UgTkqS9ypSXVrUZ0NTrs=",
"owner": "Cloudef",
"repo": "zig2nix",
"rev": "deb76120bc98822cfa66c33778562214479eb050",
"rev": "825245d8809e086f9207f77f1e7a5c1fd7799c7e",
"type": "github"
},
"original": {
@ -776,11 +795,11 @@
"zig-overlay": "zig-overlay"
},
"locked": {
"lastModified": 1714726694,
"narHash": "sha256-EZpShJM2csFe+EBFJyjVWs6/nPvQwiMuuWsmeltEMXg=",
"lastModified": 1714570733,
"narHash": "sha256-3Cy6f3py/Errlie6osdYmmTPJWOgGLl5cuySXgjO/0w=",
"owner": "zigtools",
"repo": "zls",
"rev": "f6817ed3ca4d70c2181f96fbbf84cb533cd7205e",
"rev": "75bd32d1be6decda507aad9eb224803d2e8ae70d",
"type": "github"
},
"original": {

View file

@ -10,9 +10,7 @@
tsm.url = "github:daylinmorgan/tsm?dir=nix";
tsm.inputs.nixpkgs.follows = "nixpkgs";
# hyprland.url = "github:hyprwm/Hyprland/main";
# https://github.com/hyprwm/Hyprland/issues/5891
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
hyprland.url = "github:hyprwm/Hyprland/main";
hyprland-contrib.url = "github:hyprwm/contrib";
nixpkgs-wayland.url = "github:nix-community/nixpkgs-wayland";

View file

@ -54,9 +54,7 @@ mkOizysModule config "hyprland" {
nixpkgs.overlays = [
inputs.hyprland-contrib.overlays.default
# some issue with dunst?
# inputs.nixpkgs-wayland.overlay
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

View file

@ -5,15 +5,16 @@ import (
"oizys/pkg/oizys"
)
var bootCmd = &cobra.Command{
Use: "boot",
Short: "nixos rebuild boot",
Run: func(cmd *cobra.Command, args []string) {
oizys.CheckFlake(flake)
oizys.NixosRebuild("boot", flake)
},
}
func init() {
rootCmd.AddCommand(bootCmd)
rootCmd.AddCommand(bootCmd)
}

View file

@ -5,15 +5,17 @@ import (
"oizys/pkg/oizys"
)
var buildCmd = &cobra.Command{
Use: "build",
Short: "A brief description of your command",
Run: func(cmd *cobra.Command, args []string) {
oizys.CheckFlake(flake)
oizys.NixBuild(oizys.Output(flake, host), args...)
},
}
func init() {
rootCmd.AddCommand(buildCmd)
rootCmd.AddCommand(buildCmd)
}

View file

@ -9,7 +9,6 @@ var cacheCmd = &cobra.Command{
Use: "cache",
Short: "build and push to cachix",
Run: func(cmd *cobra.Command, args []string) {
oizys.CheckFlake(flake)
oizys.CacheBuild(oizys.Output(flake, host), cacheName, args...)
},
}
@ -17,10 +16,10 @@ var cacheCmd = &cobra.Command{
func init() {
cacheCmd.Flags().StringVarP(
&cacheName,
"cache",
"c",
"daylin",
"name of cachix binary cache",
"cache",
"c",
"daylin",
"name of cachix binary cache",
)
rootCmd.AddCommand(cacheCmd)
}

View file

@ -1,20 +1,19 @@
package cmd
import (
"oizys/pkg/oizys"
"github.com/spf13/cobra"
"github.com/spf13/cobra"
"oizys/pkg/oizys"
)
var dryCmd = &cobra.Command{
Use: "dry",
Short: "poor man's nix flake check",
Run: func(cmd *cobra.Command, args []string) {
oizys.CheckFlake(flake)
oizys.NixDryRun(oizys.Output(flake, host))
},
}
func init() {
rootCmd.AddCommand(dryCmd)
rootCmd.AddCommand(dryCmd)
}

View file

@ -7,15 +7,15 @@ import (
"oizys/pkg/oizys"
)
var outputCmd = &cobra.Command{
Use: "output",
Short: "show nixosConfiguration attr",
Run: func(cmd *cobra.Command, args []string) {
oizys.CheckFlake(flake)
fmt.Println(oizys.Output(flake, host))
},
}
func init() {
rootCmd.AddCommand(outputCmd)
rootCmd.AddCommand(outputCmd)
}

View file

@ -1,7 +1,9 @@
package cmd
import (
"errors"
"fmt"
"io/fs"
"log"
"os"
@ -19,6 +21,10 @@ func setFlake() {
flake = oizysDir
}
}
if _, err := os.Stat(flake); errors.Is(err, fs.ErrNotExist) {
log.Fatalln("path to flake:", flake, "does not exist")
}
}
func setHost() {
@ -63,6 +69,7 @@ var rootCmd = &cobra.Command{
},
}
func init() {
rootCmd.CompletionOptions.HiddenDefaultCmd = true
rootCmd.PersistentFlags().StringVar(&flake, "flake", "", "path to flake ($OIZYS_DIR or $HOME/oizys)")

View file

@ -9,11 +9,11 @@ var switchCmd = &cobra.Command{
Use: "switch",
Short: "nixos rebuild switch",
Run: func(cmd *cobra.Command, args []string) {
oizys.CheckFlake(flake)
oizys.NixosRebuild("switch", flake, args...)
},
}
func init() {
rootCmd.AddCommand(switchCmd)
rootCmd.AddCommand(switchCmd)
}

View file

@ -1,9 +1,6 @@
{
installShellFiles,
buildGoModule,
lib,
...
}:
buildGoModule {
pname = "oizys";
@ -11,11 +8,4 @@ buildGoModule {
src = lib.cleanSource ./.;
vendorHash = "sha256-kh/7dV49KaQcD9ho8IpBcRc6+05bn4XpMzAI9JXu7+o=";
nativeBuildInputs = [installShellFiles];
postInstall = ''
installShellCompletion --cmd oizys \
--zsh <($out/bin/oizys completion zsh)
'';
}

View file

@ -1,9 +1,7 @@
package oizys
import (
"errors"
"fmt"
"io/fs"
"log"
"os"
"os/exec"
@ -29,10 +27,10 @@ func TerminalSize() (int, int) {
func ParseDryRunOutput(nixOutput string) {
output := termenv.NewOutput(os.Stdout)
parts := strings.Split(nixOutput, "\nthese")
if len(parts) != 3 {
log.Println("no changes...")
return
}
if len(parts) != 3 {
log.Println("no changes...")
return
}
built := strings.Split(strings.TrimSpace(parts[1]), "\n")[1:]
fetched := strings.Split(strings.TrimSpace(parts[2]), "\n")[1:]
@ -73,14 +71,9 @@ func NixDryRun(path string) {
}
func NixosRebuild(subcmd string, flake string, rest ...string) {
args := []string{
"nixos-rebuild",
subcmd,
"--flake",
flake,
}
args := []string{subcmd, "--flake"}
args = append(args, rest...)
cmd := exec.Command("sudo", args...)
cmd := exec.Command("nixos-rebuild", args...)
runCommand(cmd)
}
@ -95,6 +88,7 @@ func runCommand(cmd *exec.Cmd) {
func NixBuild(path string, rest ...string) {
args := []string{"build", path}
args = append(args, rest...)
fmt.Println(args)
cmd := exec.Command("nix", args...)
runCommand(cmd)
}
@ -110,12 +104,6 @@ func CacheBuild(path string, cache string, rest ...string) {
runCommand(cmd)
}
func CheckFlake(flake string) {
if _, err := os.Stat(flake); errors.Is(err, fs.ErrNotExist) {
log.Fatalln("path to flake:", flake, "does not exist")
}
}
func Output(flake string, host string) string {
return fmt.Sprintf(
"%s#nixosConfigurations.%s.config.system.build.toplevel",