84 lines
3.5 KiB
Haskell
84 lines
3.5 KiB
Haskell
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 "exercism"
|
|
, 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 "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 = "daily"
|
|
, 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 = [] }
|