xmonad-config/lib/Projects.hs

112 lines
4.7 KiB
Haskell
Raw Normal View History

module Projects (
Projects.modify
) where
import XMonad
import XMonad.Actions.DynamicProjects
2019-04-17 16:14:19 +02:00
import XMonad.Util.Run
2019-12-03 14:46:51 +01:00
spinVimAndSt :: String -> String -> Project
spinVimAndSt dir name =
2019-09-25 09:03:53 +02:00
Project { projectName = name
2019-12-03 14:46:51 +01:00
, projectDirectory = dir <> name
2019-09-25 09:03:53 +02:00
, projectStartHook = Just $ do safeSpawn "vim" ["-g", "+set guifont=Victor\\ Mono\\ SemiBold\\ 18|e ."]
2020-10-22 08:27:11 +02:00
safeSpawn "nvidia-offload" ["alacritty","-e","tmux","new","-A","-s",name]
2020-09-25 11:13:26 +02:00
}
spinChat :: String -> Project
spinChat name =
Project { projectName = name
, projectDirectory = "/tmp"
, projectStartHook = Just $ do safeSpawnProg (name <> "-desktop")
2019-09-25 09:03:53 +02:00
}
2020-03-30 09:20:40 +02:00
adminProject = spinVimAndSt "~/admin/"
2019-12-03 14:46:51 +01:00
candyProject = spinVimAndSt "~/candy/"
2020-03-30 09:20:40 +02:00
workProject = spinVimAndSt "~/relex/"
2019-12-03 14:46:51 +01:00
projects :: [Project]
2020-09-25 11:13:26 +02:00
projects = [ adminProject "wrk-config"
2020-03-30 09:20:40 +02:00
, adminProject "cdc-config"
2020-07-22 09:24:04 +02:00
, candyProject "dhall-packages"
2020-02-21 07:43:13 +01:00
, candyProject "exercism"
2020-09-25 11:13:26 +02:00
, spinChat "element"
, spinChat "wire"
2020-07-22 09:24:04 +02:00
, workProject "azure-core-infra"
2020-06-05 09:48:19 +02:00
, workProject "azure-kube-platform"
2019-12-03 14:46:51 +01:00
, workProject "bob-the-builder"
2020-10-15 12:06:18 +02:00
, workProject "boomi-gateway"
2020-10-20 14:55:21 +02:00
, workProject "connect2-provisioning"
2020-10-16 09:43:31 +02:00
, workProject "connect2-terraform"
2019-12-03 14:46:51 +01:00
, workProject "docker-images"
, workProject "gitlab-runners"
, workProject "infra-inventory"
, workProject "isengard"
2020-09-25 11:13:26 +02:00
, workProject "isengard-worktree-2"
, workProject "isengard-worktree-3"
2019-12-03 14:46:51 +01:00
, workProject "mordor-ca"
, workProject "mordor-dashboard"
, workProject "mordor-deploy"
, workProject "mordor-kvm"
2019-12-31 09:20:42 +01:00
, workProject "mordor-nixpkgs"
2019-12-03 14:46:51 +01:00
, workProject "mordor-ops"
, workProject "mordor-the-repo"
2019-12-03 14:46:51 +01:00
, workProject "mordorbooks"
2020-02-21 07:43:13 +01:00
, workProject "muir"
2020-09-25 11:13:26 +02:00
, workProject "nix"
2019-12-03 14:46:51 +01:00
, workProject "nix-role"
2020-03-11 08:22:58 +01:00
, workProject "nixos-modules"
2019-12-03 14:46:51 +01:00
, workProject "nixpkgs"
2020-07-22 09:24:04 +02:00
, workProject "sm-terraform"
2019-12-03 14:46:51 +01:00
, workProject "time-tracking"
2020-02-21 07:43:13 +01:00
, workProject "ugluk-ansible-role"
2020-09-25 11:13:26 +02:00
, Project { projectName = "xmonad"
, projectDirectory = "~/.xmonad/"
, projectStartHook = Just $ do safeSpawn "vim" ["-g", "+set guifont=Victor\\ Mono\\ SemiBold\\ 18|e ."]
2020-10-22 08:27:11 +02:00
safeSpawn "nvidia-offload" ["alacritty","-e","tmux","new","-A","-s","xmonad"]
2020-09-25 11:13:26 +02:00
}
2019-12-03 14:46:51 +01:00
, Project { projectName = "status"
, projectDirectory = "/tmp"
2019-12-31 09:20:42 +01:00
, projectStartHook = Just $ do
2020-10-22 08:27:11 +02:00
safeSpawn "nvidia-offload" ["alacritty","-e","gotop"]
2019-12-03 14:46:51 +01:00
}
2019-04-17 16:14:19 +02:00
, Project { projectName = "email"
, projectDirectory = "~/mail"
, projectStartHook = Just $ do safeSpawnProg "st"
}
, Project { projectName = "frs"
, projectDirectory = "/tmp"
2020-09-25 11:13:26 +02:00
, projectStartHook = Just $ do safeSpawnProg "ff-relex"
2019-04-17 16:14:19 +02:00
}
, Project { projectName = "fre"
, projectDirectory = "/tmp"
2020-09-25 11:13:26 +02:00
, projectStartHook = Just $ do safeSpawnProg "ff-perso"
2019-04-17 16:14:19 +02:00
}
, 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"
2020-09-28 15:24:06 +02:00
safeSpawnProg "patchage"
2019-04-17 16:14:19 +02:00
}
2020-07-22 09:24:04 +02:00
, Project { projectName = "meeting"
2019-04-17 16:14:19 +02:00
, projectDirectory = "/tmp"
2019-12-03 14:46:51 +01:00
, projectStartHook = Just $ do safeSpawnProg "chromium"
}
2020-10-20 14:55:21 +02:00
, Project { projectName = "teams"
, projectDirectory = "/tmp"
, projectStartHook = Just $ do safeSpawnProg "teams"
}
2019-09-25 09:03:53 +02:00
, Project { projectName = "notes"
2020-03-30 09:20:40 +02:00
, projectDirectory = "~/zk/"
2019-09-25 09:03:53 +02:00
, projectStartHook = Just $ do safeSpawn "vim" ["-g", "+set guifont=Victor\\ Mono\\ SemiBold\\ 18|VimwikiMakeDiaryNote"]
}
]
modify :: XConfig l -> XConfig l
modify conf = dynamicProjects projects conf
2018-05-28 19:53:36 +02:00
{ workspaces = [] }