mirror of
https://github.com/ItsDrike/nixdots
synced 2024-11-10 04:59:42 +00:00
Compare commits
12 commits
002e288d48
...
21cf34330e
Author | SHA1 | Date | |
---|---|---|---|
ItsDrike | 21cf34330e | ||
ItsDrike | 8390c54639 | ||
ItsDrike | f5ffba4a56 | ||
ItsDrike | 739d5019d3 | ||
ItsDrike | 705ef3451a | ||
ItsDrike | 63113f0fd6 | ||
ItsDrike | fa6784b24f | ||
ItsDrike | 6a85f6b61b | ||
ItsDrike | e20e63e57b | ||
ItsDrike | f5febc9346 | ||
ItsDrike | d15842324a | ||
ItsDrike | 4c775478bc |
18
flake.lock
18
flake.lock
|
@ -117,11 +117,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1712462372,
|
"lastModified": 1717931644,
|
||||||
"narHash": "sha256-WA3bbBWhd3o1wAgyHZNypjb/LG4oq+IWxFq8ey8yNPU=",
|
"narHash": "sha256-Sz8Wh9cAiD5FhL8UWvZxBfnvxETSCVZlqWSYWaCPyu0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "a561ad6ab38578c812cc9af3b04f2cc60ebf48c9",
|
"rev": "3d65009effd77cb0d6e7520b68b039836a7606cf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -132,11 +132,11 @@
|
||||||
},
|
},
|
||||||
"impermanence": {
|
"impermanence": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1708968331,
|
"lastModified": 1717932370,
|
||||||
"narHash": "sha256-VUXLaPusCBvwM3zhGbRIJVeYluh2uWuqtj4WirQ1L9Y=",
|
"narHash": "sha256-7C5lCpiWiyPoIACOcu2mukn/1JRtz6HC/1aEMhUdcw0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "impermanence",
|
"repo": "impermanence",
|
||||||
"rev": "a33ef102a02ce77d3e39c25197664b7a636f9c30",
|
"rev": "27979f1c3a0d3b9617a3563e2839114ba7d48d3f",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -174,11 +174,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1712439257,
|
"lastModified": 1717786204,
|
||||||
"narHash": "sha256-aSpiNepFOMk9932HOax0XwNxbA38GOUVOiXfUVPOrck=",
|
"narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "ff0dbd94265ac470dda06a657d5fe49de93b4599",
|
"rev": "051f920625ab5aabe37c920346e3e69d7d34400e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
_: {
|
_: {
|
||||||
imports = [
|
imports = [
|
||||||
./wms
|
./wms
|
||||||
|
./launchers
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
9
home/programs/graphical/launchers/default.nix
Normal file
9
home/programs/graphical/launchers/default.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
#./anyrun
|
||||||
|
#./rofi
|
||||||
|
#./tofi
|
||||||
|
./walker
|
||||||
|
./wofi
|
||||||
|
];
|
||||||
|
}
|
97
home/programs/graphical/launchers/walker/config.json
Normal file
97
home/programs/graphical/launchers/walker/config.json
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
{
|
||||||
|
"placeholder": "Search...",
|
||||||
|
"keep_open": false,
|
||||||
|
"ignore_mouse": false,
|
||||||
|
"ssh_host_file": "",
|
||||||
|
"enable_typeahead": false,
|
||||||
|
"show_initial_entries": true,
|
||||||
|
"fullscreen": false,
|
||||||
|
"scrollbar_policy": "automatic",
|
||||||
|
"hyprland": {
|
||||||
|
"context_aware_history": false
|
||||||
|
},
|
||||||
|
"activation_mode": {
|
||||||
|
"disabled": false,
|
||||||
|
"use_f_keys": false,
|
||||||
|
"use_alt": false
|
||||||
|
},
|
||||||
|
"search": {
|
||||||
|
"delay": 0,
|
||||||
|
"hide_icons": false,
|
||||||
|
"margin_spinner": 10,
|
||||||
|
"hide_spinner": false
|
||||||
|
},
|
||||||
|
"runner": {
|
||||||
|
"excludes": [
|
||||||
|
"rm"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"clipboard": {
|
||||||
|
"max_entries": 10,
|
||||||
|
"image_height": 300
|
||||||
|
},
|
||||||
|
"align": {
|
||||||
|
"ignore_exlusive": true,
|
||||||
|
"width": 400,
|
||||||
|
"horizontal": "center",
|
||||||
|
"vertical": "start",
|
||||||
|
"anchors": {
|
||||||
|
"top": false,
|
||||||
|
"left": false,
|
||||||
|
"bottom": false,
|
||||||
|
"right": false
|
||||||
|
},
|
||||||
|
"margins": {
|
||||||
|
"top": 20,
|
||||||
|
"bottom": 0,
|
||||||
|
"end": 0,
|
||||||
|
"start": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"list": {
|
||||||
|
"height": 300,
|
||||||
|
"margin_top": 10,
|
||||||
|
"always_show": true,
|
||||||
|
"hide_sub": false
|
||||||
|
},
|
||||||
|
"orientation": "vertical",
|
||||||
|
"icons": {
|
||||||
|
"theme": "",
|
||||||
|
"hide": false,
|
||||||
|
"size": 28,
|
||||||
|
"image_height": 200
|
||||||
|
},
|
||||||
|
"modules": [
|
||||||
|
{
|
||||||
|
"name": "runner",
|
||||||
|
"prefix": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "applications",
|
||||||
|
"prefix": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ssh",
|
||||||
|
"prefix": "",
|
||||||
|
"switcher_exclusive": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "finder",
|
||||||
|
"prefix": "",
|
||||||
|
"switcher_exclusive": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "commands",
|
||||||
|
"prefix": "",
|
||||||
|
"switcher_exclusive": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "websearch",
|
||||||
|
"prefix": "?"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "switcher",
|
||||||
|
"prefix": "/"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
20
home/programs/graphical/launchers/walker/default.nix
Normal file
20
home/programs/graphical/launchers/walker/default.nix
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
osConfig,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = osConfig.myOptions.home-manager.programs.launchers.walker;
|
||||||
|
in {
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
walker
|
||||||
|
];
|
||||||
|
|
||||||
|
xdg.configFile = {
|
||||||
|
"walker/config.json".source = ./config.json;
|
||||||
|
"walker/style.css".source = ./style.css;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
90
home/programs/graphical/launchers/walker/style.css
Normal file
90
home/programs/graphical/launchers/walker/style.css
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
* {
|
||||||
|
color: #dcd7ba;
|
||||||
|
}
|
||||||
|
|
||||||
|
#window {
|
||||||
|
background: #1c1c23;
|
||||||
|
opacity: 0.9;
|
||||||
|
border: 4px solid #26262d;
|
||||||
|
}
|
||||||
|
|
||||||
|
#box {
|
||||||
|
background: #16161d;
|
||||||
|
padding: 10px;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#searchwrapper {}
|
||||||
|
|
||||||
|
#search,
|
||||||
|
#typeahead {
|
||||||
|
border-radius: 0;
|
||||||
|
outline: none;
|
||||||
|
outline-width: 0px;
|
||||||
|
box-shadow: none;
|
||||||
|
border-bottom: none;
|
||||||
|
border: none;
|
||||||
|
background: #1f1f28;
|
||||||
|
padding-left: 10px;
|
||||||
|
padding-right: 10px;
|
||||||
|
padding-top: 0px;
|
||||||
|
padding-bottom: 0px;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#spinner {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#spinner.visible {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#typeahead {
|
||||||
|
background: none;
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
#search placeholder {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
#list {
|
||||||
|
background: #1c1c23;
|
||||||
|
}
|
||||||
|
|
||||||
|
row:selected {
|
||||||
|
background: rgba(100, 100, 100, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.item {
|
||||||
|
padding: 5px;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
padding-right: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.textwrapper {}
|
||||||
|
|
||||||
|
.label {}
|
||||||
|
|
||||||
|
.sub {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.activationlabel {
|
||||||
|
opacity: 0.25;
|
||||||
|
}
|
||||||
|
|
||||||
|
.activation .activationlabel {
|
||||||
|
opacity: 1;
|
||||||
|
color: #76946a;
|
||||||
|
}
|
||||||
|
|
||||||
|
.activation .textwrapper,
|
||||||
|
.activation .icon,
|
||||||
|
.activation .search {
|
||||||
|
opacity: 0.5;
|
||||||
|
}
|
26
home/programs/graphical/launchers/wofi/default.nix
Normal file
26
home/programs/graphical/launchers/wofi/default.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
osConfig,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
cfg = osConfig.myOptions.home-manager.programs.launchers.wofi;
|
||||||
|
in {
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
programs.wofi = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
width = "40%";
|
||||||
|
height = "30%";
|
||||||
|
show = "drun";
|
||||||
|
prompt = "Search";
|
||||||
|
allow_images = true;
|
||||||
|
allow_markup = true;
|
||||||
|
insensitive = true;
|
||||||
|
};
|
||||||
|
style = ''
|
||||||
|
${builtins.readFile ./style.css}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
51
home/programs/graphical/launchers/wofi/style.css
Normal file
51
home/programs/graphical/launchers/wofi/style.css
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
window {
|
||||||
|
font-family: "DejaVu Sans", "Font Awesome 5 Free";
|
||||||
|
margin: 0px;
|
||||||
|
border: 1px solid rgba(0, 0, 0, 0.9);
|
||||||
|
background-color: rgba(29, 31, 33, 0.95);
|
||||||
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input {
|
||||||
|
margin: 5px;
|
||||||
|
border: none;
|
||||||
|
color: #f8f8f2;
|
||||||
|
background-color: rgba(55, 59, 65, 0.95);
|
||||||
|
}
|
||||||
|
|
||||||
|
#inner-box {
|
||||||
|
margin: 5px;
|
||||||
|
border: none;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#outer-box {
|
||||||
|
margin: 5px;
|
||||||
|
border: none;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#scroll {
|
||||||
|
margin: 0px;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#text {
|
||||||
|
margin: 5px;
|
||||||
|
border: none;
|
||||||
|
color: #c5c8c6;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:focus {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:selected {
|
||||||
|
background-color: rgba(55, 59, 65, 0.95);
|
||||||
|
border-radius: 5px;
|
||||||
|
border: none;
|
||||||
|
}
|
|
@ -23,6 +23,7 @@
|
||||||
# Programs
|
# Programs
|
||||||
#
|
#
|
||||||
"SUPER, Return, exec, kitty"
|
"SUPER, Return, exec, kitty"
|
||||||
|
"SUPER, R, exec, walker"
|
||||||
# TODO: requires programs
|
# TODO: requires programs
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
|
@ -77,6 +77,7 @@
|
||||||
home-manager = {
|
home-manager = {
|
||||||
enable = true;
|
enable = true;
|
||||||
stateVersion = "23.11";
|
stateVersion = "23.11";
|
||||||
|
|
||||||
git = {
|
git = {
|
||||||
userName = "ItsDrike";
|
userName = "ItsDrike";
|
||||||
userEmail = "itsdrike@protonmail.com";
|
userEmail = "itsdrike@protonmail.com";
|
||||||
|
@ -85,6 +86,7 @@
|
||||||
key = "FA2745890B7048C0";
|
key = "FA2745890B7048C0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
wms.hyprland = {
|
wms.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
monitor = [
|
monitor = [
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./programs
|
||||||
./git.nix
|
./git.nix
|
||||||
./wms.nix
|
./wms.nix
|
||||||
];
|
];
|
||||||
|
|
15
options/home/programs/default.nix
Normal file
15
options/home/programs/default.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{ lib, ... }: with lib; let
|
||||||
|
inherit (lib) mkEnableOption mkOption types;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.myOptions.home-manager.programs = {
|
||||||
|
launchers = {
|
||||||
|
wofi.enable = mkEnableOption "Wofi launcher";
|
||||||
|
walker.enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
description = "Enable Walker launcher.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -4,7 +4,7 @@
|
||||||
acceptedTypes = ["laptop"];
|
acceptedTypes = ["laptop"];
|
||||||
in {
|
in {
|
||||||
config = mkIf (builtins.elem deviceType acceptedTypes) {
|
config = mkIf (builtins.elem deviceType acceptedTypes) {
|
||||||
services.xserver.libinput = {
|
services.libinput = {
|
||||||
# enable libinput
|
# enable libinput
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ in {
|
||||||
|
|
||||||
# touchpad settings
|
# touchpad settings
|
||||||
touchpad = {
|
touchpad = {
|
||||||
naturalScrolling = false; # I'm weird like that
|
naturalScrolling = false; # I'm not natural
|
||||||
tapping = true;
|
tapping = true;
|
||||||
clickMethod = "clickfinger";
|
clickMethod = "clickfinger";
|
||||||
horizontalScrolling = true;
|
horizontalScrolling = true;
|
||||||
|
|
|
@ -3,5 +3,6 @@
|
||||||
./services
|
./services
|
||||||
./programs
|
./programs
|
||||||
./fonts.nix
|
./fonts.nix
|
||||||
|
./runners.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,5 +2,6 @@
|
||||||
imports = [
|
imports = [
|
||||||
./misc.nix
|
./misc.nix
|
||||||
./physlock.nix
|
./physlock.nix
|
||||||
|
./thunar.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,14 @@
|
||||||
{
|
{ lib, config, ...}: let
|
||||||
# Screen locker which works across all virtual terminals
|
inherit (lib) mkIf;
|
||||||
# Use `systemctl start physlock` to securely lock the screen
|
deviceType = config.myOptions.device.roles.type;
|
||||||
services.physlock = {
|
acceptedTypes = ["laptop" "desktop"];
|
||||||
enable = true;
|
in {
|
||||||
lockMessage = "System is locked...";
|
config = mkIf (builtins.elem deviceType acceptedTypes) {
|
||||||
|
# Screen locker which works across all virtual terminals
|
||||||
|
# Use `systemctl start physlock` to securely lock the screen
|
||||||
|
services.physlock = {
|
||||||
|
enable = true;
|
||||||
|
lockMessage = "System is locked...";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
37
system/roles/workstation/programs/thunar.nix
Normal file
37
system/roles/workstation/programs/thunar.nix
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
deviceType = config.myOptions.device.roles.type;
|
||||||
|
acceptedTypes = ["laptop" "desktop"];
|
||||||
|
in {
|
||||||
|
config = mkIf (builtins.elem deviceType acceptedTypes) {
|
||||||
|
# Unconditionally enable thunar file manager here as a relatively
|
||||||
|
# lightweight fallback option for my default file manager.
|
||||||
|
programs.thunar = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
plugins = with pkgs.xfce; [
|
||||||
|
thunar-archive-plugin
|
||||||
|
thunar-media-tags-plugin
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
environment = {
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
# packages necessery for thunar thumbnails
|
||||||
|
xfce.tumbler
|
||||||
|
libgsf # odf files
|
||||||
|
ffmpegthumbnailer
|
||||||
|
ark # GUI archiver for thunar archive plugin
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# thumbnail support on thunar
|
||||||
|
services.tumbler.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
52
system/roles/workstation/runners.nix
Normal file
52
system/roles/workstation/runners.nix
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
|
||||||
|
deviceType = config.myOptions.device.roles.type;
|
||||||
|
acceptedTypes = ["laptop" "desktop"];
|
||||||
|
in {
|
||||||
|
config = mkIf (builtins.elem deviceType acceptedTypes) {
|
||||||
|
environment.systemPackages = [pkgs.appimage-run];
|
||||||
|
|
||||||
|
# run appimages with appimage-run
|
||||||
|
boot.binfmt.registrations = lib.genAttrs ["appimage" "AppImage"] (_: {
|
||||||
|
wrapInterpreterInShell = false;
|
||||||
|
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
|
||||||
|
recognitionType = "magic";
|
||||||
|
offset = 0;
|
||||||
|
mask = "\\xff\\xff\\xff\\xff\\x00\\x00\\x00\\x00\\xff\\xff\\xff";
|
||||||
|
magicOrExtension = "\\x7fELF....AI\\x02";
|
||||||
|
});
|
||||||
|
|
||||||
|
# run unpatched linux binaries with nix-ld
|
||||||
|
programs.nix-ld = {
|
||||||
|
enable = true;
|
||||||
|
libraries = with pkgs; [
|
||||||
|
stdenv.cc.cc
|
||||||
|
openssl
|
||||||
|
curl
|
||||||
|
glib
|
||||||
|
util-linux
|
||||||
|
glibc
|
||||||
|
icu
|
||||||
|
libunwind
|
||||||
|
libuuid
|
||||||
|
zlib
|
||||||
|
libsecret
|
||||||
|
# graphical
|
||||||
|
freetype
|
||||||
|
libglvnd
|
||||||
|
libnotify
|
||||||
|
SDL2
|
||||||
|
vulkan-loader
|
||||||
|
gdk-pixbuf
|
||||||
|
xorg.libX11
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
./earlyoom.nix
|
./earlyoom.nix
|
||||||
./mount.nix
|
./mount.nix
|
||||||
./printing.nix
|
./printing.nix
|
||||||
|
./misc.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
20
system/roles/workstation/services/misc.nix
Normal file
20
system/roles/workstation/services/misc.nix
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
|
||||||
|
deviceType = config.myOptions.device.roles.type;
|
||||||
|
acceptedTypes = ["laptop" "desktop"];
|
||||||
|
in {
|
||||||
|
config = mkIf (builtins.elem deviceType acceptedTypes) {
|
||||||
|
services = {
|
||||||
|
# enable GVfs - a userspace virtual filesystem
|
||||||
|
gvfs.enable = true;
|
||||||
|
|
||||||
|
# storage daemon required for udiskie auto-mount
|
||||||
|
udisks2.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -13,5 +13,6 @@ _: {
|
||||||
./network.nix
|
./network.nix
|
||||||
./bluetooth.nix
|
./bluetooth.nix
|
||||||
./localisation.nix
|
./localisation.nix
|
||||||
|
./packages.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
8
system/shared/packages.nix
Normal file
8
system/shared/packages.nix
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
killall
|
||||||
|
];
|
||||||
|
}
|
Loading…
Reference in a new issue