68 lines
2.9 KiB
Haskell
68 lines
2.9 KiB
Haskell
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 = [] }
|