module Projects ( Projects.modify ) where import XMonad import XMonad.Actions.DynamicProjects import XMonad.Util.Run term = "alacritty" singleTermAppWithName :: String -> String -> Project singleTermAppWithName name app = Project { projectName = name , projectDirectory = "/tmp" , projectStartHook = Just $ do safeSpawn term ["-e","zsh","-c",app] } -- spinVimAndSt :: String -> String -> Project -- spinVimAndSt dir name = -- Project { projectName = name -- , projectDirectory = dir <> name -- , projectStartHook = Just $ do safeSpawn "vim" ["-g", "+set guifont=Victor\\ Mono\\ SemiBold\\ 18|e ."] -- safeSpawn "nvidia-offload" ["alacritty","-e","tmux","new","-A","-s",name] -- } singleAppWithName :: String -> String -> Project singleAppWithName name app = Project { projectName = name , projectDirectory = "/tmp" , projectStartHook = Just $ do spawn app } singleApp :: String -> Project singleApp app = singleAppWithName app app projects :: [Project] projects = [ singleApp "carla" , singleApp "obs" , singleApp "patchage" , singleApp "reaper" , singleApp "renoise" , singleApp "steam" , singleAppWithName "Books" "calibre" , singleAppWithName "discord" "Discord" , singleAppWithName "element" "element-desktop" , singleAppWithName "signal" "signal-desktop" , singleAppWithName "vcv" "Rack" , singleAppWithName "wire" "wire-desktop" , singleTermAppWithName "email" "neomutt" , Project { projectName = "admin" , projectDirectory = "~/admin/nixos-config" , projectStartHook = Just $ do safeSpawn "emacsclient" ["-c"] safeSpawnProg term } , Project { projectName = "overlays-personal" , projectDirectory = "~/admin/overlays-personal" , projectStartHook = Just $ do safeSpawn "emacsclient" ["-c"] safeSpawnProg term } , Project { projectName = "cdc-config" , projectDirectory = "~/admin/cdc-config" , projectStartHook = Just $ do safeSpawn "emacsclient" ["-c"] safeSpawnProg term } , Project { projectName = "cdc-documentation" , projectDirectory = "~/admin/cdc-documentation" , projectStartHook = Just $ do safeSpawnProg term safeSpawn "emacsclient" ["-c"] } , Project { projectName = "rukokuoppa" , projectDirectory = "~/candy/rukokuoppa" , projectStartHook = Just $ do safeSpawn "emacsclient" ["-c"] safeSpawnProg term } , Project { projectName = "notes" , projectDirectory = "~/zk" , projectStartHook = Just $ do safeSpawn "emacsclient" ["-c"] safeSpawnProg term } , Project { projectName = "xmonad" , projectDirectory = "~/.xmonad" , projectStartHook = Just $ do safeSpawn "emacsclient" ["-c"] safeSpawnProg term } , Project { projectName = "waymonad" , projectDirectory = "~/candy/waymonad" , projectStartHook = Just $ do safeSpawn "emacsclient" ["-c"] safeSpawnProg term } , Project { projectName = "accounting" , projectDirectory = "~/accounting" , projectStartHook = Just $ do safeSpawnProg term } , Project { projectName = "flim" , projectDirectory = "/flims/rtorrent/download" , projectStartHook = Just $ do safeSpawnProg term } , Project { projectName = "sound" , projectDirectory = "/tmp" , projectStartHook = Just $ do safeSpawnProg "pavucontrol" } , Project { projectName = "web" , projectDirectory = "/tmp" , projectStartHook = Just $ do spawn "firefox" } ] modify :: XConfig l -> XConfig l modify conf = dynamicProjects projects conf { workspaces = [] }