module Projects ( Projects.modify ) where import XMonad import XMonad.Actions.DynamicProjects import XMonad.Util.Run 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 "st" ["-f","Iosevka Samae-18","-e","tmux","new","-A","-s",name] } adminProject = spinVimAndSt "~/admin/" candyProject = spinVimAndSt "~/candy/" workProject = spinVimAndSt "~/relex/" projects :: [Project] projects = [ adminProject "sam-configuration-nix" , adminProject "cdc-config" , candyProject "dhall-packages" , candyProject "exercism" , workProject "atlantis" , workProject "azure-core-infra" , workProject "azure-kube-platform" , workProject "bob-the-builder" , workProject "docker-images" , workProject "gitlab-runners" , workProject "heimdall" , workProject "infra-inventory" , workProject "isengard" , workProject "mordor-ca" , workProject "mordor-dashboard" , workProject "mordor-deploy" , workProject "mordor-kvm" , workProject "mordor-nixpkgs" , workProject "mordor-ops" , workProject "mordor-the-repo" , workProject "mordorbooks" , workProject "muir" , workProject "nix-role" , workProject "nixos-modules" , workProject "nixpkgs" , workProject "sm-terraform" , workProject "time-tracking" , workProject "ugluk-ansible-role" , Project { projectName = "status" , projectDirectory = "/tmp" , projectStartHook = Just $ do safeSpawn "st" ["-f","Iosevka Samae-12","-e","gotop"] } , Project { projectName = "email" , projectDirectory = "~/mail" , projectStartHook = Just $ do safeSpawnProg "st" } , Project { projectName = "frs" , projectDirectory = "/tmp" , projectStartHook = Just $ do safeSpawnProg "ff-work" } , Project { projectName = "fre" , projectDirectory = "/tmp" , projectStartHook = Just $ do safeSpawnProg "ff-eeva" } , 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 = "meeting" , projectDirectory = "/tmp" , projectStartHook = Just $ do safeSpawnProg "chromium" } , Project { projectName = "notes" , projectDirectory = "~/zk/" , projectStartHook = Just $ do safeSpawn "vim" ["-g", "+set guifont=Victor\\ Mono\\ SemiBold\\ 18|VimwikiMakeDiaryNote"] } ] modify :: XConfig l -> XConfig l modify conf = dynamicProjects projects conf { workspaces = [] }