From c7c529693f91711b8f1cd9a8f6bac161e6912b77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9ana=20=E6=B1=9F?= Date: Sun, 1 Feb 2026 23:06:10 +0100 Subject: [PATCH] packages/manage: drop --- nix/packages/by-name/manage/package.nix | 10 -- nix/packages/by-name/manage/src/.gitignore | 1 - nix/packages/by-name/manage/src/Main.hs | 112 ------------------- nix/packages/by-name/manage/src/manage.cabal | 21 ---- 4 files changed, 144 deletions(-) delete mode 100644 nix/packages/by-name/manage/package.nix delete mode 100644 nix/packages/by-name/manage/src/.gitignore delete mode 100755 nix/packages/by-name/manage/src/Main.hs delete mode 100644 nix/packages/by-name/manage/src/manage.cabal diff --git a/nix/packages/by-name/manage/package.nix b/nix/packages/by-name/manage/package.nix deleted file mode 100644 index ea15fc56..00000000 --- a/nix/packages/by-name/manage/package.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - haskellPackages, - haskell, -}: -let - inherit (haskell.lib.compose) justStaticExecutables; - - drv = haskellPackages.callCabal2nix "manage" ./src { }; -in -justStaticExecutables drv diff --git a/nix/packages/by-name/manage/src/.gitignore b/nix/packages/by-name/manage/src/.gitignore deleted file mode 100644 index c33954f5..00000000 --- a/nix/packages/by-name/manage/src/.gitignore +++ /dev/null @@ -1 +0,0 @@ -dist-newstyle/ diff --git a/nix/packages/by-name/manage/src/Main.hs b/nix/packages/by-name/manage/src/Main.hs deleted file mode 100755 index 52e2b7b5..00000000 --- a/nix/packages/by-name/manage/src/Main.hs +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/env runhaskell -{-# LANGUAGE LambdaCase #-} -{-# LANGUAGE ViewPatterns #-} - -import Control.Monad -import System.Environment -import System.Exit -import System.IO -import System.Process - --- Note: to type check this code --- `ghc manage.hs -Werror=all -fno-code' - -main :: IO () -main = do - let showHelpOr args elseDo = - if "--help" `elem` args then putStr help - else elseDo - - getArgs >>= \case - ( "os" : host : action - : (partitionArgs -> (manageArgs, extraArgs)) - ) -> - manageArgs `showHelpOr` do - nixpkgs <- readNixpkgsPath - exitWith =<< transparentProcess "nixos-rebuild" (action : nixosRebuildArgs nixpkgs host <> extraArgs) - - ( "install" : host - : (partitionArgs -> (manageArgs, extraArgs)) - ) -> - manageArgs `showHelpOr` do - nixpkgs <- readNixpkgsPath - exitWith =<< transparentProcess "nixos-install" (nixosInstallArgs nixpkgs host <> extraArgs) - - _ -> putStr help >> exitFailure - -newtype StorePath = StorePath { unStorePath :: String } - -defaultNixosCmdArgs :: StorePath -> String -> [String] -defaultNixosCmdArgs (unStorePath -> nixpkgsPath) hostname = - [ "-I", "nixpkgs=" <> nixpkgsPath - , "-I", "nixos-config=./nix/configurations/" <> hostname <> ".nix" - , "--file", "./default.nix" - , "--attr", "nixosConfigurations." <> hostname - ] - -nixosInstallArgs :: StorePath -> String -> [String] -nixosInstallArgs = defaultNixosCmdArgs - -nixosRebuildArgs :: StorePath -> String -> [String] -nixosRebuildArgs = - defaultNixosCmdArgs - -- This is not a nixos-install flag - <> (\_ _ -> ["--no-reexec"]) - -help :: String -help = - unlines - [ "Manage.hs" - , "" - , "Manage.hs is a thin wrapper to make nixos-{install,rebuild} easier to use." - , "Black lives matter. Trans rights are human rights. No nazi bullsh*t." - , "" - , "Available commands:" - , indent "os :" <> indent "run perhost action with nixos-rebuild" - , indent "install :" <> indent "run perhost action with nixos-install" - , indent "--help:" <> indent "show this help menu" - ] - where indent = ("\t" <>) - -partitionArgs :: [String] -> ([String], [String]) -partitionArgs = finalize . span (/= "--") - where finalize (xs, ys) = (xs, drop 1 ys) - -quote :: String -> String -quote x = "\"" <> x <> "\"" - --- https://stackoverflow.com/a/70162369 -blueForeground :: String -> String -blueForeground x = "\ESC[34m" <> x <> "\ESC[0m" - --- | --- Run with a shared std{in,out,err} -transparentProcess :: String -> [String] -> IO ExitCode -transparentProcess cmdName args = do - hPutStrLn stderr - $ "Executing: " <> (quote . blueForeground) (showCommandForUser cmdName args) - (_, _, _, pid) <- createProcess - ( proc cmdName args - ) { std_in = UseHandle stdin - , std_out = UseHandle stdout - , std_err = UseHandle stderr - } - waitForProcess pid - -readProcessFriendly :: String -> [String] -> String -> IO String -readProcessFriendly cmdName args inp = do - hPutStrLn stderr - $ "Executing: " <> (quote . blueForeground) (showCommandForUser cmdName args) - readProcess cmdName args inp - -readNixpkgsPath :: IO StorePath -readNixpkgsPath = - StorePath . clean <$> readProcessFriendly - "nix-instantiate" - [ "--eval" - , "-E" - , "let sources = import ./npins; in sources.nixpkgs.outPath" - ] - "" - where - clean = filter (\c -> c /= '\n' && c /= '"') diff --git a/nix/packages/by-name/manage/src/manage.cabal b/nix/packages/by-name/manage/src/manage.cabal deleted file mode 100644 index a59349a3..00000000 --- a/nix/packages/by-name/manage/src/manage.cabal +++ /dev/null @@ -1,21 +0,0 @@ -cabal-version: 3.0 -name: manage -version: 0.1.0.0 -description: NixOS Helper -author: Léana 江 -maintainer: leana.jiang+git@icloud.com -build-type: Simple - -common common - ghc-options: - -Wall -Wcompat -Widentities -Wincomplete-record-updates - -Wincomplete-patterns -Wincomplete-uni-patterns - -Wredundant-constraints -Werror=missing-fields - build-depends: base - default-language: Haskell2010 - -executable manage - import: common - main-is: ./Main.hs - build-depends: - process