Migrate web apps to nix setup
Create dedicated xdg desktopEntries to start web apps. Use chromium where necessary, e.g. due to audio / video experiences. Start web apps with dedicated Firefox profiles. Configure those profiles to hide any UI to have an actual app feeling.
This commit is contained in:
parent
a0b6cf5ec9
commit
4919105362
50
home.nix
50
home.nix
|
@ -142,15 +142,47 @@
|
|||
"borg/exclude".source = ./home/files/borg-exclude;
|
||||
};
|
||||
|
||||
xdg.desktopEntries.networkmanager-dmenu = {
|
||||
type = "Application";
|
||||
exec = "${pkgs.networkmanager_dmenu}/bin/networkmanager_dmenu";
|
||||
name = "Networkmanager dmenu";
|
||||
comment = "Networkmanaging using dmenu";
|
||||
genericName = "Networkmanager Setting";
|
||||
categories = [
|
||||
"Network"
|
||||
];
|
||||
xdg.desktopEntries = {
|
||||
networkmanager-dmenu = {
|
||||
type = "Application";
|
||||
exec = "${pkgs.networkmanager_dmenu}/bin/networkmanager_dmenu";
|
||||
name = "Networkmanager dmenu";
|
||||
comment = "Networkmanaging using dmenu";
|
||||
genericName = "Networkmanager Setting";
|
||||
categories = [
|
||||
"Network"
|
||||
];
|
||||
};
|
||||
slack-typo3 = {
|
||||
name = "Slack TYPO3";
|
||||
type = "Application";
|
||||
exec = "${pkgs.chromium}/bin/chromium-browser --class=\"chat\" --new-window --app=https://app.slack.com/client/T024TUMLZ/unreads";
|
||||
};
|
||||
slack-codappix = {
|
||||
name = "Slack Codappix";
|
||||
type = "Application";
|
||||
exec = "${pkgs.chromium}/bin/chromium-browser --class=\"chat\" --new-window --app=https://app.slack.com/client/T2DPNS55W/unreads";
|
||||
};
|
||||
slack-sac = {
|
||||
name = "Slack SAC";
|
||||
type = "Application";
|
||||
exec = "${pkgs.chromium}/bin/chromium-browser --class=\"chat\" --new-window --app=https://app.slack.com/client/T3FANTPL5/unreads";
|
||||
};
|
||||
microsoft-teams = {
|
||||
name = "Microsoft Teams";
|
||||
type = "Application";
|
||||
exec = "${pkgs.chromium}/bin/chromium-browser --class=\"chat\" --new-window --user-agent=\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36\" --new-window --app=https://teams.microsoft.com/";
|
||||
};
|
||||
toggl = {
|
||||
name = "Toggl Time Tracking";
|
||||
type = "Application";
|
||||
exec = "${pkgs.firefox}/bin/firefox --class=\"time-tracking\" --new-instance -P toggl https://track.toggl.com/timer";
|
||||
};
|
||||
mailhog-ui = {
|
||||
name = "Mailhog";
|
||||
type = "Application";
|
||||
exec = "${pkgs.firefox}/bin/firefox --class=\"mailhog\" --new-instance -P mailhog https://mailhog.localhost";
|
||||
};
|
||||
};
|
||||
|
||||
services.dunst = import ./home/services/dunst.nix;
|
||||
|
|
|
@ -110,22 +110,12 @@ for_window [window_type="dialog"] sticky enable
|
|||
# As well as keepass, in order to make it easier usable side by side
|
||||
for_window [class="KeePassXC"] sticky enable floating enable
|
||||
|
||||
assign [class="^node-debugger$"] 1
|
||||
|
||||
assign [class="^toggl$"] 2:💶
|
||||
assign [class="^time-tracking$"] 2:💶
|
||||
assign [class="^mailhog$"] 2:💶
|
||||
assign [class="^sentry$"] 2:💶
|
||||
assign [class="^Firefox$"] 2:💶
|
||||
|
||||
assign [class="^Slack$"] 3:💬
|
||||
assign [class="^slack-.*"] 3:💬
|
||||
assign [class="^whatsapp$"] 3:💬
|
||||
assign [class="^chat$"] 3:💬
|
||||
assign [class="^Signal$"] 3:💬
|
||||
assign [class="^teams-.*"] 3:💬
|
||||
assign [class="^mattermost-.*$"] 3:💬
|
||||
assign [class="^mattermost$"] 3:💬
|
||||
assign [class="^Mattermost$"] 3:💬
|
||||
assign [class="^jitsi-.*$"] 3:💬
|
||||
|
||||
assign [class="^Thunderbird$"] 4:✉️
|
||||
|
||||
|
@ -135,9 +125,6 @@ assign [class="^Pavucontrol$"] 5:🎵
|
|||
assign [class="^Audacity$"] 5:🎵
|
||||
assign [class="^gplay-music$"] 5:🎵
|
||||
|
||||
# TODO: Use some more specific, to only fetch testing instances?
|
||||
assign [class="^Chromium-browser$"] 8
|
||||
|
||||
# switch to workspace
|
||||
bindsym $mod+1 workspace 1
|
||||
bindsym $mod+2 workspace 2:💶
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
enable = true;
|
||||
|
||||
# https://rycee.gitlab.io/home-manager/options.html#opt-programs.firefox.profiles
|
||||
# https://github.com/pyllyukko/user.js
|
||||
|
||||
profiles = {
|
||||
default = {
|
||||
|
@ -41,6 +42,8 @@
|
|||
"browser.urlbar.suggest.openpage" = false;
|
||||
"browser.urlbar.timesBeforeHidingSuggestionsHint" = 0;
|
||||
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
|
||||
"browser.anchor_color" = "#77dfd8";
|
||||
"browser.visited_color" = "#c8a0d1";
|
||||
"browser.display.background_color" = "#2e3436";
|
||||
|
@ -155,5 +158,23 @@
|
|||
};
|
||||
userContent = pkgs.lib.fileContents ./firefox/userContent.css;
|
||||
};
|
||||
toggl = {
|
||||
name = "toggl";
|
||||
id = 1;
|
||||
isDefault = false;
|
||||
userChrome = pkgs.lib.fileContents ./firefox/kioskLikeUserChrome.css;
|
||||
settings = {
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
};
|
||||
};
|
||||
mailhog = {
|
||||
name = "mailhog";
|
||||
id = 2;
|
||||
isDefault = false;
|
||||
userChrome = pkgs.lib.fileContents ./firefox/kioskLikeUserChrome.css;
|
||||
settings = {
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
7
home/programs/firefox/kioskLikeUserChrome.css
Normal file
7
home/programs/firefox/kioskLikeUserChrome.css
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*
|
||||
* Important: use "visibility: collapse" instead of "display: none".
|
||||
* I do not know why, but display: none will hide the whole content of the frame.
|
||||
*/
|
||||
#navigator-toolbox-background {
|
||||
visibility: collapse !important;
|
||||
}
|
Loading…
Reference in a new issue