rework users to be more definable
this seems like an odd way to do it, but... it works? and i don't understand how else to achieve what i want.
This commit is contained in:
@@ -1,10 +1,6 @@
|
|||||||
# docs:
|
# system is e.g. x86_64-linux
|
||||||
# https://rycee.gitlab.io/home-manager/
|
# gui is "gnome", or null
|
||||||
# man home-configuration.nix
|
{ pkgs, system, gui }: {
|
||||||
|
|
||||||
{ config, pkgs, ... }:
|
|
||||||
{
|
|
||||||
|
|
||||||
home.stateVersion = "21.11";
|
home.stateVersion = "21.11";
|
||||||
home.username = "colin";
|
home.username = "colin";
|
||||||
home.homeDirectory = "/home/colin";
|
home.homeDirectory = "/home/colin";
|
||||||
@@ -16,25 +12,6 @@
|
|||||||
userEmail = "colin@uninsane.org";
|
userEmail = "colin@uninsane.org";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.firefox = {
|
|
||||||
enable = true;
|
|
||||||
# empty profile required to allow extensions below
|
|
||||||
profiles.default = {
|
|
||||||
# settings = {
|
|
||||||
# "browser.urlbar.placeholderName" = "DuckDuckGo";
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
# NB: these must be manually enabled in the Firefox settings on first start
|
|
||||||
# extensions can be found here: https://gitlab.com/rycee/nur-expressions/-/blob/master/pkgs/firefox-addons/addons.json
|
|
||||||
extensions = [
|
|
||||||
pkgs.nur.repos.rycee.firefox-addons.bypass-paywalls-clean
|
|
||||||
pkgs.nur.repos.rycee.firefox-addons.i-dont-care-about-cookies
|
|
||||||
pkgs.nur.repos.rycee.firefox-addons.sidebery
|
|
||||||
pkgs.nur.repos.rycee.firefox-addons.sponsorblock
|
|
||||||
pkgs.nur.repos.rycee.firefox-addons.ublock-origin
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.vim = {
|
programs.vim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
@@ -59,7 +36,7 @@
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
dconf.settings = {
|
dconf.settings = if gui == "gnome" then {
|
||||||
# control alt-tab behavior
|
# control alt-tab behavior
|
||||||
"org/gnome/desktop/wm/keybindings" = {
|
"org/gnome/desktop/wm/keybindings" = {
|
||||||
switch-applications = [ "<Super>Tab" ];
|
switch-applications = [ "<Super>Tab" ];
|
||||||
@@ -73,11 +50,26 @@
|
|||||||
sleep-inactive-ac-type = "nothing";
|
sleep-inactive-ac-type = "nothing";
|
||||||
sleep-inactive-battery-timeout = 5400; # seconds
|
sleep-inactive-battery-timeout = 5400; # seconds
|
||||||
};
|
};
|
||||||
};
|
} else null;
|
||||||
|
|
||||||
# xsession.enable = true;
|
|
||||||
# xsession.windowManager.command = "…";
|
|
||||||
|
|
||||||
|
programs.firefox = if gui != null then {
|
||||||
|
enable = true;
|
||||||
|
# empty profile required to allow extensions below
|
||||||
|
profiles.default = {
|
||||||
|
# settings = {
|
||||||
|
# "browser.urlbar.placeholderName" = "DuckDuckGo";
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
# NB: these must be manually enabled in the Firefox settings on first start
|
||||||
|
# extensions can be found here: https://gitlab.com/rycee/nur-expressions/-/blob/master/pkgs/firefox-addons/addons.json
|
||||||
|
extensions = [
|
||||||
|
pkgs.nur.repos.rycee.firefox-addons.bypass-paywalls-clean
|
||||||
|
pkgs.nur.repos.rycee.firefox-addons.i-dont-care-about-cookies
|
||||||
|
pkgs.nur.repos.rycee.firefox-addons.sidebery
|
||||||
|
pkgs.nur.repos.rycee.firefox-addons.sponsorblock
|
||||||
|
pkgs.nur.repos.rycee.firefox-addons.ublock-origin
|
||||||
|
];
|
||||||
|
} else null;
|
||||||
|
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.btrfs-progs
|
pkgs.btrfs-progs
|
||||||
@@ -117,7 +109,8 @@
|
|||||||
pkgs.usbutils
|
pkgs.usbutils
|
||||||
pkgs.wireguard
|
pkgs.wireguard
|
||||||
pkgs.zola
|
pkgs.zola
|
||||||
|
]
|
||||||
|
++ (if gui != null then [
|
||||||
# GUI only
|
# GUI only
|
||||||
pkgs.clinfo
|
pkgs.clinfo
|
||||||
pkgs.element-desktop
|
pkgs.element-desktop
|
||||||
@@ -125,8 +118,9 @@
|
|||||||
pkgs.mesa-demos
|
pkgs.mesa-demos
|
||||||
pkgs.signal-desktop
|
pkgs.signal-desktop
|
||||||
pkgs.tdesktop
|
pkgs.tdesktop
|
||||||
|
] else [])
|
||||||
|
++ (if system == "x86_64-linux" then [
|
||||||
# x86_64 only
|
# x86_64 only
|
||||||
pkgs.discord
|
pkgs.discord
|
||||||
];
|
] else []);
|
||||||
}
|
}
|
@@ -6,6 +6,7 @@
|
|||||||
services.xserver.desktopManager.gnome.enable = true;
|
services.xserver.desktopManager.gnome.enable = true;
|
||||||
services.xserver.displayManager.gdm.enable = true;
|
services.xserver.displayManager.gdm.enable = true;
|
||||||
|
|
||||||
|
# gnome does networking stuff with networkmanager
|
||||||
networking.useDHCP = false;
|
networking.useDHCP = false;
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
networking.wireless.enable = lib.mkForce false;
|
networking.wireless.enable = lib.mkForce false;
|
||||||
|
@@ -1,8 +1,12 @@
|
|||||||
{ home-manager, config, pkgs, ... }:
|
{ home-manager, config, pkgs, ... }:
|
||||||
{
|
{
|
||||||
imports = [ home-manager.nixosModule ];
|
imports = [
|
||||||
|
home-manager.nixosModule
|
||||||
|
];
|
||||||
|
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.users.colin.imports = [ ./colin.nix ];
|
home-manager.users.colin = import ./../../helpers/home-manager-gen-colin.nix {
|
||||||
|
inherit pkgs; system = "x86_64-linux"; gui = "gnome";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user