xmonad-config/lib/Projects.hs

114 lines
4.1 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
2020-12-26 10:05:29 +01:00
term = "alacritty"
singleTermAppWithName :: String -> String -> Project
singleTermAppWithName name app = Project
{ projectName = name
, projectDirectory = "/tmp"
, projectStartHook = Just $ do safeSpawn term ["-e","zsh","-c",app]
}
2021-05-30 12:07:01 +02:00
-- 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 "nvidia-offload" ["alacritty","-e","tmux","new","-A","-s",name]
-- }
2021-10-05 22:40:55 +02:00
singleAppWithName :: String -> String -> Project
singleAppWithName name app = Project
2020-12-26 10:05:29 +01:00
{ projectName = name
2020-11-07 08:04:05 +01:00
, projectDirectory = "/tmp"
2021-10-05 22:40:55 +02:00
, projectStartHook = Just $ do spawn app
2020-11-07 08:04:05 +01:00
}
2020-12-26 10:05:29 +01:00
singleApp :: String -> Project
singleApp app = singleAppWithName app app
projects :: [Project]
2019-09-28 14:55:07 +02:00
projects =
2021-10-05 22:40:55 +02:00
[ singleApp "carla"
2021-05-30 12:07:01 +02:00
, singleApp "obs"
2021-10-05 22:40:55 +02:00
, singleApp "patchage"
, singleApp "reaper"
, singleApp "renoise"
2020-11-07 08:04:05 +01:00
, singleApp "steam"
2021-04-18 14:50:37 +02:00
, singleAppWithName "Books" "calibre"
2021-05-06 16:23:24 +02:00
, singleAppWithName "discord" "Discord"
2021-01-03 21:13:55 +01:00
, singleAppWithName "element" "element-desktop"
2021-03-30 17:46:00 +02:00
, singleAppWithName "signal" "signal-desktop"
2021-10-05 22:40:55 +02:00
, singleAppWithName "vcv" "Rack"
, singleAppWithName "wire" "wire-desktop"
2020-12-26 10:05:29 +01:00
, singleTermAppWithName "email" "neomutt"
2020-11-07 08:04:05 +01:00
, Project { projectName = "admin"
, projectDirectory = "~/admin/nixos-config"
2021-07-15 18:20:30 +02:00
, projectStartHook = Just $ do safeSpawn "emacsclient" ["-c"]
safeSpawnProg term
}
2021-03-30 17:46:00 +02:00
, Project { projectName = "overlays-personal"
, projectDirectory = "~/admin/overlays-personal"
2021-07-15 18:20:30 +02:00
, projectStartHook = Just $ do safeSpawn "emacsclient" ["-c"]
2021-03-30 17:46:00 +02:00
safeSpawnProg term
}
, Project { projectName = "cdc-config"
, projectDirectory = "~/admin/cdc-config"
2021-07-15 18:20:30 +02:00
, projectStartHook = Just $ do safeSpawn "emacsclient" ["-c"]
2020-12-26 10:05:29 +01:00
safeSpawnProg term
2020-03-28 16:41:16 +01:00
}
2021-10-05 22:40:55 +02:00
, Project { projectName = "cdc-documentation"
, projectDirectory = "~/admin/cdc-documentation"
, projectStartHook = Just $ do
safeSpawnProg term
safeSpawn "emacsclient" ["-c"]
}
2021-05-06 16:23:24 +02:00
, Project { projectName = "rukokuoppa"
, projectDirectory = "~/candy/rukokuoppa"
2021-07-15 18:20:30 +02:00
, projectStartHook = Just $ do safeSpawn "emacsclient" ["-c"]
2021-05-06 16:23:24 +02:00
safeSpawnProg term
}
2020-03-28 16:41:16 +01:00
, Project { projectName = "notes"
, projectDirectory = "~/zk"
2021-07-15 18:20:30 +02:00
, projectStartHook = Just $ do safeSpawn "emacsclient" ["-c"]
2020-12-26 10:05:29 +01:00
safeSpawnProg term
}
, Project { projectName = "xmonad"
, projectDirectory = "~/.xmonad"
2021-07-15 18:20:30 +02:00
, projectStartHook = Just $ do safeSpawn "emacsclient" ["-c"]
safeSpawnProg term
}
, Project { projectName = "waymonad"
, projectDirectory = "~/candy/waymonad"
, projectStartHook = Just $ do safeSpawn "emacsclient" ["-c"]
2020-12-26 10:05:29 +01:00
safeSpawnProg term
2019-09-28 14:55:07 +02:00
}
2020-03-07 16:53:04 +01:00
, Project { projectName = "accounting"
, projectDirectory = "~/accounting"
2020-12-26 10:05:29 +01:00
, projectStartHook = Just $ do safeSpawnProg term
2020-03-07 16:53:04 +01:00
}
2019-09-28 14:55:07 +02:00
, Project { projectName = "flim"
, projectDirectory = "/flims/rtorrent/download"
2020-12-26 10:05:29 +01:00
, projectStartHook = Just $ do safeSpawnProg term
2019-09-28 14:55:07 +02:00
}
, Project { projectName = "sound"
, projectDirectory = "/tmp"
, projectStartHook = Just $ do safeSpawnProg "pavucontrol"
}
, Project { projectName = "web"
, projectDirectory = "/tmp"
, projectStartHook = Just $ do spawn "firefox"
}
]
modify :: XConfig l -> XConfig l
modify conf = dynamicProjects projects conf
2018-05-28 19:53:36 +02:00
{ workspaces = [] }