module Projects ( Projects.modify ) where import XMonad import XMonad.Actions.DynamicProjects import XMonad.Util.Run spinVimAndSt :: String -> Project spinVimAndSt name = Project { projectName = name , projectDirectory = "~/relex/" <> name , projectStartHook = Just $ do safeSpawn "vim" ["-g", "+set guifont=Victor\\ Mono\\ SemiBold\\ 18|e ."] safeSpawn "st" ["-f","Iosevka Term-18","-e","tmux","new","-A","-s",name] } projects :: [Project] projects = [ spinVimAndSt "bob-the-builder" , spinVimAndSt "infra-inventory" , spinVimAndSt "mega-repo-1" , spinVimAndSt "mega-repo-2" , spinVimAndSt "mega-repo-3" , spinVimAndSt "mordor-ca" , spinVimAndSt "mordor-dashboard" , spinVimAndSt "mordor-deploy" , spinVimAndSt "mordor-kvm" , spinVimAndSt "mordor-ops" , spinVimAndSt "mordorbooks" , spinVimAndSt "nix-role" , Project { projectName = "admin" , projectDirectory = "~/admin" , projectStartHook = Just $ do safeSpawn "vim" ["-g"] safeSpawnProg "st" } , Project { projectName = "email" , projectDirectory = "~/mail" , projectStartHook = Just $ do safeSpawnProg "st" } , Project { projectName = "frs" , projectDirectory = "/tmp" , projectStartHook = Just $ do safeSpawnProg "frs" } , Project { projectName = "fre" , projectDirectory = "/tmp" , projectStartHook = Just $ do safeSpawnProg "fre" } , Project { projectName = "network-graph" , projectDirectory = "~/relex/catch-a-network-bug/csvplotter" , projectStartHook = Just $ do safeSpawn "zathura" ["weekXGraph.pdf"] safeSpawnProg "st" } , Project { projectName = "sound" , projectDirectory = "/tmp" , projectStartHook = Just $ do safeSpawnProg "pavucontrol" } , Project { projectName = "daily" , projectDirectory = "/tmp" , projectStartHook = Just $ do safeSpawn "nix" ["run", "nixpkgs.chromium", "-c", "chromium"] } , Project { projectName = "notes" , projectDirectory = "~/vimwiki/" , projectStartHook = Just $ do safeSpawn "vim" ["-g", "+set guifont=Victor\\ Mono\\ SemiBold\\ 18|VimwikiMakeDiaryNote"] } ] modify :: XConfig l -> XConfig l modify conf = dynamicProjects projects conf { workspaces = [] }