-
Notifications
You must be signed in to change notification settings - Fork 1
/
home.nix
103 lines (91 loc) · 2.71 KB
/
home.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# User-specific options. Can override or extend those defined by ./common,
# or can add additional ones. Changes to this file should only be committed to
# your per-user branch of the dotfiles repository.
#
# See: https://nix-community.github.io/home-manager/options.html
{ config, pkgs, lib, ... }:
let
inherit (builtins) pathExists;
inherit (lib) mkForce optional;
in
let
hostName = import ./hostName.nix;
# nur = config.my.nur.fetched;
inherit (config.my.rycee.fetched) firefox-addons;
in
{
imports = [
./common
]
++ (let perHostName = ./per-host + "/${hostName}";
in optional (pathExists perHostName) perHostName);
# Packages available in per-user profile.
home.packages = with pkgs; [
];
my.emacs.extraPackages = [(epkgs:
with epkgs; [
]
)];
# my.rust = {
# enable = true;
# toolchains = {
# };
# };
# my.vagrant.enable = true;
# # Have debug-info and source-code for packages where this is applied. This is for packages
# # that normally don't provide these, and this uses my custom approach that overrides and
# # overlays packages to achieve having these.
# my.debugging.support.all.enable = true;
# Extend the imported options.
programs.firefox = {
# profiles = {
# default = {
# settings = let
# playDRMcontent = "media.eme.enabled";
# in {
# ${playDRMcontent} = true;
# };
# };
# };
# # Note: Would be incompatible with /etc/nixos/firefox.nix having a non-empty
# # nixExtensions list.
# extensions = with firefox-addons; [
# user-agent-string-switcher
# stylus
# ];
};
# Extend the imported options.
dconf.settings = {
# # Different mouse theme.
# "org/mate/desktop/peripherals/mouse" = {
# cursor-theme = mkForce "ComixCursors-Opaque-Green";
# };
# # More launchers in panel than ./home/common.nix has by default.
# "org/mate/panel/general" = {
# object-id-list = mkForce [
# "menu"
# "web-browser"
# "music-player"
# "terminal"
# "source-code-editor"
# "window-list"
# "workspace-switcher"
# "sys-load-monitor"
# "indicators"
# "clock"
# ];
# };
};
# TODO: Maybe this should change to 21.11 for when I install that new release
# on new laptop.
#
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "21.05";
}