working install, many things broken

This commit is contained in:
Anish L 2021-10-12 22:35:18 +10:00
parent 6e4f0f3aaf
commit 5371aeaa2a
11 changed files with 363 additions and 265 deletions

View file

@ -127,10 +127,11 @@
users = digga.lib.rakeLeaves ./users;
};
suites = with profiles; rec {
base = [ core users.nixos users.root nvim users.anish ]; # TODO make anish non gui
base = [ core users.root nvim users.anish ]; # TODO make anish non gui
sealight = [ base ]; # matrix rsshub backup wireguard
mossnet = [ base ]; # shaarli wallabag nextcloud taskwarrior headphones
curve = [ base desktop ];
graphical = [ base users.profiles.firefox users.profiles.desktop ];
curve = [ graphical ];
};
};
};
@ -142,7 +143,7 @@
profiles = digga.lib.rakeLeaves ./users/profiles;
suites = with profiles; rec {
base = [ direnv git ];
gui = [ base firefox desktop ];
#gui = [ base profiles.firefox profiles.desktop ];
};
};
users = {

View file

@ -3,11 +3,16 @@
imports = [
./configuration.nix
profiles.users.anish
#profiles.users.profiles.firefox
#profiles.users.profiles.desktop
] ++ suites.curve;
home-manager.users.anish = { suites, ... }: {
imports = suites.gui;
};
#home-manager.users.anish = { suites, ... }: {
# imports = [
# profiles.users.profiles.desktop
# profiles.users.profiles.firefox
# ];
#};
#bud.enable = true;
}

View file

@ -2,46 +2,46 @@
{
#imports = [ ./music.nix ]
environment.systemPackages = with pkgs; [
lightdm
dunst
libnotify
(polybar.override {
pulseSupport = true;
nlSupport = true;
})
];
services = {
picom.enable = true;
#redshift.enable = true;
xserver = {
enable = true;
displayManager = {
defaultSession = "none+bspwm";
lightdm.enable = true;
#lightdm.greeters.mini.enable = true;
#lightdm.greeters.mini.user = "anish"; # TODO hardcoded
};
windowManager.bspwm.enable = true;
windowManager.bspwm.configFile = "/home/anish/.bspwm/bspwmrc";
windowManager.bspwm.sxhkd.configFile = "/home/anish/sxhkdrc";
#windowManager.default = "bspwm";
};
};
#systemd.user.services."dunst" = {
# enable = true;
# description = "";
# wantedBy = [ "default.target" ];
# serviceConfig.Restart = "always";
# serviceConfig.RestartSec = 2;
# serviceConfig.ExecStart = "${pkgs.dunst}/bin/dunst";
#};
services.xserver.displayManager.lightdm.greeters.mini.extraConfig = ''
text-color = "#ff79c6"
password-background-color = "#1E2029"
window-color = "#181a23"
border-color = "#181a23"
'';
# environment.systemPackages = with pkgs; [
# lightdm
# dunst
# libnotify
# (polybar.override {
# pulseSupport = true;
# nlSupport = true;
# })
# ];
#
# services = {
# picom.enable = true;
# #redshift.enable = true;
# xserver = {
# enable = true;
# displayManager = {
# defaultSession = "none+bspwm";
# lightdm.enable = true;
# lightdm.greeters.mini.enable = true;
# lightdm.greeters.mini.user = "anish"; # TODO hardcoded
# };
# windowManager.bspwm.enable = true;
# windowManager.bspwm.configFile = "/home/anish/.bspwm/bspwmrc";
# windowManager.bspwm.sxhkd.configFile = "/home/anish/sxhkdrc";
# #windowManager.default = "bspwm";
# };
# };
#
# #systemd.user.services."dunst" = {
# # enable = true;
# # description = "";
# # wantedBy = [ "default.target" ];
# # serviceConfig.Restart = "always";
# # serviceConfig.RestartSec = 2;
# # serviceConfig.ExecStart = "${pkgs.dunst}/bin/dunst";
# #};
# services.xserver.displayManager.lightdm.greeters.mini.extraConfig = ''
# text-color = "#ff79c6"
# password-background-color = "#1E2029"
# window-color = "#181a23"
# border-color = "#181a23"
# '';
}

View file

@ -10,13 +10,13 @@
extraGroups = [ "wheel" "audio" ];
};
#home-manager.programs.git = {
# userName = "Anish Lakhwara";
# userEmail = "anish+git@lakhwara.com";
# delta.enable = true;
#};
home-manager.users.anish = { suites, ... }: {
imports = suites.gui;
home-manager.users.anish.programs.git = {
userName = "Anish Lakhwara";
userEmail = "anish+git@lakhwara.com";
delta.enable = true;
};
#home-manager.users.anish = { suites, ... }: {
# imports = suites.gui;
#};
}

View file

@ -0,0 +1,25 @@
#: This is a port of ayu Mirage color scheme
#: based on :
#: https://github.com/ayu-theme/ayu-colors
background #1F2430
foreground #CBCCC6
cursor #FFCC66
selection_background #33415E
color0 #000000
color8 #4D5566
color1 #FF3333
color9 #F27983
color2 #BAE67E
color10 #A6CC70
color3 #FFA759
color11 #F29E74
color4 #73D0FF
color12 #77A8D9
color5 #D4BFFF
color13 #A37ACC
color6 #95E6CB
color14 #4CBF99
color7 #ffffff
color15 #F0F0F0
selection_foreground #CBCCC6

View file

@ -15,6 +15,20 @@ bspc monitor $MONITOR -d {1,2,3,4,5}
bspc config remove_disabled_monitors true
bspc config remove_unplugged_monitors true
bspc config borderless_monocle true
bspc config gapless_monocle true
bspc config border_width 1
bspc config window_gap 4
bspc config normal_border_color "#181a23"
bspc config active_border_color "#181a23"
bspc config focused_border_color "#bd93f9"
bspc config presel_feedback_color "#bd93f9"
# Extra padding for polybar
bspc config -m primary top_padding 34
bspc config -m primary bottom_padding 0
# Rules
bspc rule -r '*'
@ -28,7 +42,7 @@ bspc rule -a 'Emacs:scratch' state=floating
bspc rule -a 'Emacs:emacs-everywhere' state=floating sticky=on
bspc rule -a '*:scratch' state=floating sticky=on center=on border=off rectangle=1000x800+0+0
#
# polybar
for file in $XDG_CONFIG_HOME/bspwm/rc.d/*; do
source "$file"
done

View file

@ -1,107 +1,108 @@
{pkgs, ...}:
{
# Enable bspwm and sxhkd
xsession.windowManager.bspwm = {
enable = true;
extraConfig = ''
bspc config remove_disabled_monitors true
bspc config remove_unplugged_monitors true
#imports = [ ./xdg.nix ];
bspc config borderless_monocle true
bspc config gapless_monocle true
bspc config border_width 1
bspc config window_gap 4
bspc config normal_border_color "#181a23"
bspc config active_border_color "#181a23"
bspc config focused_border_color "#bd93f9"
bspc config presel_feedback_color "#bd93f9"
# Extra padding for polybar
bspc config -m primary top_padding 34
bspc config -m primary bottom_padding 0
environment.systemPackages = with pkgs; [
rofi
lightdm
dunst
libnotify
(polybar.override {
pulseSupport = true;
nlSupport = true;
})
];
# Load polybar
for file in $XDG_CONFIG_HOME/bspwm/rc.d/*; do
source "$file"
done
'';
};
services.sxhkd.enable = true;
# Add gtk theme for Dracular and Paper
# Set wallpaper
# Install themes
# More nixOS Config
#packages = with pkgs; [
# dracula-theme
# paper-icon-theme
#];
# Font stuff
#fonts = {
# fonts = with pkgs; [
# fire-code
# hermit
# hack
# fire-code-symbols
# siji
# font-awesome-ttf
# ];
# fontconfig.defaultFonts = {
# sansSerif = ["Hermit"];
# monospace = ["Hermit"];
# };
#};
# Move required config files around
home.file = {
"bspwm/rc.d/polybar".source = ./run.sh;
"bspwm/bspwmrc".source = ./bspwmrc;
"sxhkdrc".source = ./sxhkdrc;
"rofi/theme" = {
source = ./rofi;
recursive = true;
services = {
picom.enable = true;
#redshift.enable = true;
xserver = {
enable = true;
displayManager = {
defaultSession = "none+bspwm";
lightdm.enable = true;
lightdm.greeters.mini.enable = true;
lightdm.greeters.mini.user = "anish"; # TODO hardcoded
lightdm.greeters.mini.extraConfig = ''
text-color = "#ff79c6"
password-background-color = "#1E2029"
window-color = "#181a23"
border-color = "#181a23"
'';
};
windowManager.bspwm.enable = true;
#windowManager.bspwm.configFile = "/home/anish/.bspwm/bspwmrc";
windowManager.bspwm.sxhkd.configFile = "/home/anish/.config/sxhkdrc";
};
"polybar" = {
source = ./polybar;
recursive = true;
};
"dunst/dunstrc".source = ./dunstrc;
};
# Login screen
# not a home-manager variable, just nixOS one
#services.xserver.displayManager.lightdm.greeters.mini.extraConfig = ''
# text-color = "#ff79c6"
# password-background-color = "#1E2029"
# window-color = "#181a23"
# border-color = "#181a23"
# '';
home-manager.users.anish = {
# Add gtk theme for Dracular and Paper
# Set wallpaper
# Compositor
services.picom = {
fade = true;
fadeDelta = 1;
fadeSteps = [ 0.01 0.012 ];
shadow = true;
shadowOffsets = [ (-10) (-10) ];
shadowOpacity = 0.22;
# activeOpacity = "1.00";
# inactiveOpacity = "0.92";
extraOptions = ''
shadow-radius = 12;
# blur-background = true;
# blur-background-frame = true;
# blur-background-fixed = true;
blur-kern = "7x7box";
blur-strength = 320;
'';
};
# Install themes
home.packages = with pkgs; [
dracula-theme
paper-icon-theme
];
programs.autorandr.enable = true;
services.udiskie.automount = true;
# Font stuff
#fonts = {
# fonts = with pkgs; [
# fire-code
# hermit
# hack
# fire-code-symbols
# siji
# font-awesome-ttf
# ];
# fontconfig.defaultFonts = {
# sansSerif = ["Hermit"];
# monospace = ["Hermit"];
# };
#};
# Move required config files around
home.file = {
".config/bspwm/rc.d/polybar".source = ./run.sh;
".config/bspwm/bspwmrc".source = ./bspwmrc;
".config/sxhkdrc".source = ./sxhkdrc;
".config/rofi/theme" = {
source = ./rofi;
recursive = true;
};
".config/polybar" = {
source = ./polybar;
recursive = true;
};
".config/dunst/dunstrc".source = ./dunstrc;
".config/kitty/kitty.conf".source = ./kitty.conf;
".config/kitty/ayu.conf".source = ./ayu-kitty.conf;
};
# Compositor
services.picom = {
fade = true;
fadeDelta = 1;
fadeSteps = [ 0.01 0.012 ];
shadow = true;
shadowOffsets = [ (-10) (-10) ];
shadowOpacity = 0.22;
# activeOpacity = "1.00";
# inactiveOpacity = "0.92";
extraOptions = ''
shadow-radius = 12;
# blur-background = true;
# blur-background-frame = true;
# blur-background-fixed = true;
blur-kern = "7x7box";
blur-strength = 320;
'';
};
programs.autorandr.enable = true;
services.udiskie.automount = true;
};
}

View file

@ -0,0 +1 @@
include ayu.conf

View file

@ -32,16 +32,13 @@ super + e
emacsclient --eval "(emacs-everywhere)"
super + space
$DOTFILES_BIN/rofi/appmenu
rofi -show drun -modi drun,run -show-icons -theme theme/appmenu.rasi
super + Tab
$DOTFILES_BIN/rofi/windowmenu
rofi -show window -show-icons -theme theme/windowmenu.rasi
super + p
$DOTFILES_BIN/rofi/bwmenu
super + shift + p
$DOTFILES_BIN/rofi/bwmenu -r
$DOTFILES_BIN/rofi/passmenu
super + slash
$DOTFILES_BIN/rofi/filemenu -x

View file

@ -0,0 +1,50 @@
# xdg.nix
#
# Set up and enforce XDG compliance. Other modules will take care of their own,
# but this takes care of the general cases.
{ config, home-manager, ... }:
{
### A tidy $HOME is a tidy mind
home-manager.users.anish.xdg.enable = true;
environment = {
sessionVariables = {
# These are the defaults, and xdg.enable does set them, but due to load
# order, they're not set before environment.variables are set, which could
# cause race conditions.
XDG_CACHE_HOME = "$HOME/.cache";
XDG_CONFIG_HOME = "$HOME/.config";
XDG_DATA_HOME = "$HOME/.local/share";
XDG_BIN_HOME = "$HOME/.local/bin";
};
variables = {
# Conform more programs to XDG conventions. The rest are handled by their
# respective modules.
__GL_SHADER_DISK_CACHE_PATH = "$XDG_CACHE_HOME/nv";
ASPELL_CONF = ''
per-conf $XDG_CONFIG_HOME/aspell/aspell.conf;
personal $XDG_CONFIG_HOME/aspell/en_US.pws;
repl $XDG_CONFIG_HOME/aspell/en.prepl;
'';
#CUDA_CACHE_PATH = "$XDG_CACHE_HOME/nv";
HISTFILE = "$XDG_DATA_HOME/bash/history";
INPUTRC = "$XDG_CONFIG_HOME/readline/inputrc";
LESSHISTFILE = "$XDG_CACHE_HOME/lesshst";
WGETRC = "$XDG_CONFIG_HOME/wgetrc";
# Tools I don't use
# SUBVERSION_HOME = "$XDG_CONFIG_HOME/subversion";
# BZRPATH = "$XDG_CONFIG_HOME/bazaar";
# BZR_PLUGIN_PATH = "$XDG_DATA_HOME/bazaar";
# BZR_HOME = "$XDG_CACHE_HOME/bazaar";
# ICEAUTHORITY = "$XDG_CACHE_HOME/ICEauthority";
};
# Move ~/.Xauthority out of $HOME (setting XAUTHORITY early isn't enough)
#extraInit = ''
# export XAUTHORITY=/tmp/Xauthority
# [ -e ~/.Xauthority ] && mv -f ~/.Xauthority "$XAUTHORITY"
#'';
};
}

View file

@ -1,111 +1,115 @@
{pkgs, ... }:
{
programs.browserpass.enable = true;
programs.browserpass.browsers = [ "firefox" ];
#env.XDG_DEXSTOP_DIR = "$HOME/";
programs.firefox.profiles.anish.userChrome = (builtins.readFile ./userChrome.css);
programs.firefox.profiles.anish.settings = {
"devtools.theme" = "dark";
# Enable userContent.css and userChrome.css for our theme modules
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
# Stop creating ~/Downloads!
"browser.download.dir" = "/home/anish/downloads"; # TODO Don't hardcode this!
# Don't use the built-in password manager; a nixos user is more likely
# using an external one (you are using one, right?).
#"signon.rememberSignons" = false;
# Do not check if Firefox is the default browser
"browser.shell.checkDefaultBrowser" = false;
# Disable the "new tab page" feature and show a blank tab instead
# https://wiki.mozilla.org/Privacy/Reviews/New_Tab
# https://support.mozilla.org/en-US/kb/new-tab-page-show-hide-and-customize-top-sites#w_how-do-i-turn-the-new-tab-page-off
"browser.newtabpage.enabled" = false;
"browser.newtab.url" = "about:blank";
# Disable Activity Stream
# https://wiki.mozilla.org/Firefox/Activity_Stream
"browser.newtabpage.activity-stream.enabled" = false;
# Disable new tab tile ads & preload
# http://www.thewindowsclub.com/disable-remove-ad-tiles-from-firefox
# http://forums.mozillazine.org/viewtopic.php?p=13876331#p13876331
# https://wiki.mozilla.org/Tiles/Technical_Documentation#Ping
# https://gecko.readthedocs.org/en/latest/browser/browser/DirectoryLinksProvider.html#browser-newtabpage-directory-source
# https://gecko.readthedocs.org/en/latest/browser/browser/DirectoryLinksProvider.html#browser-newtabpage-directory-ping
"browser.newtabpage.enhanced" = false;
"browser.newtab.preload" = false;
"browser.newtabpage.directory.ping" = "";
"browser.newtabpage.directory.source" = "data:text/plain,{}";
# Disable some not so useful functionality.
"media.videocontrols.picture-in-picture.video-toggle.enabled" = false;
"extensions.htmlaboutaddons.recommendations.enabled" = false;
"extensions.htmlaboutaddons.discover.enabled" = false;
"extensions.pocket.enabled" = false;
"app.normandy.enabled" = false;
"app.normandy.api_url" = "";
"extensions.shield-recipe-client.enabled" = false;
"app.shield.optoutstudies.enabled" = false;
# Disable battery API
# https://developer.mozilla.org/en-US/docs/Web/API/BatteryManager
# https://bugzilla.mozilla.org/show_bug.cgi?id=1313580
"dom.battery.enabled" = false;
# Disable "beacon" asynchronous HTTP transfers (used for analytics)
# https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeacon
"beacon.enabled" = false;
# Disable pinging URIs specified in HTML <a> ping= attributes
# http://kb.mozillazine.org/Browser.send_pings
"browser.send_pings" = false;
# Disable gamepad API to prevent USB device enumeration
# https://www.w3.org/TR/gamepad/
# https://trac.torproject.org/projects/tor/ticket/13023
"dom.gamepad.enabled" = false;
# Don't try to guess domain names when entering an invalid domain name in URL bar
# http://www-archive.mozilla.org/docs/end-user/domain-guessing.html
"browser.fixup.alternate.enabled" = false;
# Disable telemetry
# https://wiki.mozilla.org/Platform/Features/Telemetry
# https://wiki.mozilla.org/Privacy/Reviews/Telemetry
# https://wiki.mozilla.org/Telemetry
# https://www.mozilla.org/en-US/legal/privacy/firefox.html#telemetry
# https://support.mozilla.org/t5/Firefox-crashes/Mozilla-Crash-Reporter/ta-p/1715
# https://wiki.mozilla.org/Security/Reviews/Firefox6/ReviewNotes/telemetry
# https://gecko.readthedocs.io/en/latest/browser/experiments/experiments/manifest.html
# https://wiki.mozilla.org/Telemetry/Experiments
# https://support.mozilla.org/en-US/questions/1197144
# https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/internals/preferences.html#id1
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.unified" = false;
"toolkit.telemetry.archive.enabled" = false;
"experiments.supported" = false;
"experiments.enabled" = false;
"experiments.manifest.uri" = "";
# Disable health reports (basically more telemetry)
# https://support.mozilla.org/en-US/kb/firefox-health-report-understand-your-browser-perf
# https://gecko.readthedocs.org/en/latest/toolkit/components/telemetry/telemetry/preferences.html
"datareporting.healthreport.uploadEnabled" = false;
"datareporting.healthreport.service.enabled" = false;
"datareporting.policy.dataSubmissionEnabled" = false;
};
# Override?
#packages = with pkgs; [
# firefox-bin
# (makeDesktopItem {
# name = "firefox-private";
# desktopName = "Firefox (Private)";
# genericName = "Open a private Firefox window";
# icon = "firefox";
# exec = "${firefox-bin}/bin/firefox --private-window";
# categories = "Network";
# })
# ];
home.file = let cfgPath = ".mozilla/firefox"; in {
"${cfgPath}/profiles.ini".text = ''
[Profile0]
Name=default
IsRelative=1
Path=anish.default
Default=1
[General]
StartWithLastProfile=1
Version=2
'';
home-manager.users.anish = {
programs.browserpass.enable = true;
programs.browserpass.browsers = [ "firefox" ];
#env.XDG_DEXSTOP_DIR = "$HOME/";
programs.firefox.profiles.anish.userChrome = (builtins.readFile ./userChrome.css);
programs.firefox.profiles.anish.settings = {
"devtools.theme" = "dark";
# Enable userContent.css and userChrome.css for our theme modules
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
# Stop creating ~/Downloads!
"browser.download.dir" = "/home/anish/downloads"; # TODO Don't hardcode this!
# Don't use the built-in password manager; a nixos user is more likely
# using an external one (you are using one, right?).
#"signon.rememberSignons" = false;
# Do not check if Firefox is the default browser
"browser.shell.checkDefaultBrowser" = false;
# Disable the "new tab page" feature and show a blank tab instead
# https://wiki.mozilla.org/Privacy/Reviews/New_Tab
# https://support.mozilla.org/en-US/kb/new-tab-page-show-hide-and-customize-top-sites#w_how-do-i-turn-the-new-tab-page-off
"browser.newtabpage.enabled" = false;
"browser.newtab.url" = "about:blank";
# Disable Activity Stream
# https://wiki.mozilla.org/Firefox/Activity_Stream
"browser.newtabpage.activity-stream.enabled" = false;
# Disable new tab tile ads & preload
# http://www.thewindowsclub.com/disable-remove-ad-tiles-from-firefox
# http://forums.mozillazine.org/viewtopic.php?p=13876331#p13876331
# https://wiki.mozilla.org/Tiles/Technical_Documentation#Ping
# https://gecko.readthedocs.org/en/latest/browser/browser/DirectoryLinksProvider.html#browser-newtabpage-directory-source
# https://gecko.readthedocs.org/en/latest/browser/browser/DirectoryLinksProvider.html#browser-newtabpage-directory-ping
"browser.newtabpage.enhanced" = false;
"browser.newtab.preload" = false;
"browser.newtabpage.directory.ping" = "";
"browser.newtabpage.directory.source" = "data:text/plain,{}";
# Disable some not so useful functionality.
"media.videocontrols.picture-in-picture.video-toggle.enabled" = false;
"extensions.htmlaboutaddons.recommendations.enabled" = false;
"extensions.htmlaboutaddons.discover.enabled" = false;
"extensions.pocket.enabled" = false;
"app.normandy.enabled" = false;
"app.normandy.api_url" = "";
"extensions.shield-recipe-client.enabled" = false;
"app.shield.optoutstudies.enabled" = false;
# Disable battery API
# https://developer.mozilla.org/en-US/docs/Web/API/BatteryManager
# https://bugzilla.mozilla.org/show_bug.cgi?id=1313580
"dom.battery.enabled" = false;
# Disable "beacon" asynchronous HTTP transfers (used for analytics)
# https://developer.mozilla.org/en-US/docs/Web/API/navigator.sendBeacon
"beacon.enabled" = false;
# Disable pinging URIs specified in HTML <a> ping= attributes
# http://kb.mozillazine.org/Browser.send_pings
"browser.send_pings" = false;
# Disable gamepad API to prevent USB device enumeration
# https://www.w3.org/TR/gamepad/
# https://trac.torproject.org/projects/tor/ticket/13023
"dom.gamepad.enabled" = false;
# Don't try to guess domain names when entering an invalid domain name in URL bar
# http://www-archive.mozilla.org/docs/end-user/domain-guessing.html
"browser.fixup.alternate.enabled" = false;
# Disable telemetry
# https://wiki.mozilla.org/Platform/Features/Telemetry
# https://wiki.mozilla.org/Privacy/Reviews/Telemetry
# https://wiki.mozilla.org/Telemetry
# https://www.mozilla.org/en-US/legal/privacy/firefox.html#telemetry
# https://support.mozilla.org/t5/Firefox-crashes/Mozilla-Crash-Reporter/ta-p/1715
# https://wiki.mozilla.org/Security/Reviews/Firefox6/ReviewNotes/telemetry
# https://gecko.readthedocs.io/en/latest/browser/experiments/experiments/manifest.html
# https://wiki.mozilla.org/Telemetry/Experiments
# https://support.mozilla.org/en-US/questions/1197144
# https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/internals/preferences.html#id1
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.unified" = false;
"toolkit.telemetry.archive.enabled" = false;
"experiments.supported" = false;
"experiments.enabled" = false;
"experiments.manifest.uri" = "";
# Disable health reports (basically more telemetry)
# https://support.mozilla.org/en-US/kb/firefox-health-report-understand-your-browser-perf
# https://gecko.readthedocs.org/en/latest/toolkit/components/telemetry/telemetry/preferences.html
"datareporting.healthreport.uploadEnabled" = false;
"datareporting.healthreport.service.enabled" = false;
"datareporting.policy.dataSubmissionEnabled" = false;
};
# Override?
home.packages = with pkgs; [
firefox-bin
(makeDesktopItem {
name = "firefox-private";
desktopName = "Firefox (Private)";
genericName = "Open a private Firefox window";
icon = "firefox";
exec = "${firefox-bin}/bin/firefox --private-window";
categories = "Network";
})
];
home.file = let cfgPath = ".mozilla/firefox"; in {
"${cfgPath}/profiles.ini".text = ''
[Profile0]
Name=default
IsRelative=1
Path=anish.default
Default=1
[General]
StartWithLastProfile=1
Version=2
'';
};
};
}