Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0496397225 | |||
| 82ed0c419a |
+8
-59
@@ -131,18 +131,6 @@ The Nix flake definition for Droidnix.
|
|||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** =generated/system/mysystem.nix=
|
|
||||||
This sets the networking.
|
|
||||||
#+BEGIN_SRC nix :tangle generated/system/mysystem.nix :noweb tangle :mkdirp yes :eval never-html
|
|
||||||
{ lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Declare a submodule container for all mySystem children
|
|
||||||
options.mySystem = lib.mkSubmodule {
|
|
||||||
description = "Root container for all mySystem options";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
#+END_SRC
|
|
||||||
|
|
||||||
* Let's define the core of the system
|
* Let's define the core of the system
|
||||||
|
|
||||||
@@ -1012,57 +1000,18 @@ This is top file of this level which contains just an import statement for all r
|
|||||||
{ lib, pkgs, config, ... }:
|
{ lib, pkgs, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
programName = "thunar";
|
enableProgram = config.enableThunar or false;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.enableThunar = lib.mkEnableOption "Enable Thunar file manager";
|
||||||
|
|
||||||
# Default user fallback
|
|
||||||
defaultUser = "henrov";
|
|
||||||
|
|
||||||
# Toggle variable pointing to the option
|
|
||||||
enableProgram = config.mySystem.${programName}.enable or false;
|
|
||||||
|
|
||||||
# Package list for Thunar and plugins
|
|
||||||
thunarPkgs = with pkgs; [
|
|
||||||
thunar
|
|
||||||
thunar-volman
|
|
||||||
thunar-archive-plugin
|
|
||||||
thunar-media-tags-plugin
|
|
||||||
tumbler
|
|
||||||
ffmpegthumbnailer
|
|
||||||
gvfs
|
|
||||||
xdg-utils
|
|
||||||
];
|
|
||||||
|
|
||||||
in {
|
|
||||||
# Top-level toggle option
|
|
||||||
options.mySystem.${programName}.enable =
|
|
||||||
lib.mkEnableOption "Enable Thunar file manager";
|
|
||||||
|
|
||||||
# Wrap everything in mkIf(enable)
|
|
||||||
config = lib.mkIf enableProgram {
|
config = lib.mkIf enableProgram {
|
||||||
|
myApps.thunar = {
|
||||||
# mySystem container
|
user = config.defaultUser or "henrov";
|
||||||
mySystem = {
|
# Add extra Thunar config if needed
|
||||||
${programName} = {
|
|
||||||
enable = true;
|
|
||||||
packages = thunarPkgs;
|
|
||||||
user = config.defaultUser or defaultUser;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Home Manager user configuration
|
packages = [ pkgs.thunar pkgs.thunar-plugins pkgs.xarchiver ];
|
||||||
home-manager.users.${config.defaultUser or defaultUser} = {
|
|
||||||
home.stateVersion = "26.05";
|
|
||||||
home.username = config.defaultUser or defaultUser;
|
|
||||||
home.homeDirectory = "/home/${config.defaultUser or defaultUser}";
|
|
||||||
home.packages = thunarPkgs;
|
|
||||||
|
|
||||||
# Default file manager
|
|
||||||
xdg.mimeApps = {
|
|
||||||
defaultApplications = {
|
|
||||||
"inode/directory" = "Thunar.desktop";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|||||||
@@ -1,56 +1,17 @@
|
|||||||
{ lib, pkgs, config, ... }:
|
{ lib, pkgs, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
programName = "thunar";
|
enableProgram = config.enableThunar or false;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.enableThunar = lib.mkEnableOption "Enable Thunar file manager";
|
||||||
|
|
||||||
# Default user fallback
|
|
||||||
defaultUser = "henrov";
|
|
||||||
|
|
||||||
# Toggle variable pointing to the option
|
|
||||||
enableProgram = config.mySystem.${programName}.enable or false;
|
|
||||||
|
|
||||||
# Package list for Thunar and plugins
|
|
||||||
thunarPkgs = with pkgs; [
|
|
||||||
thunar
|
|
||||||
thunar-volman
|
|
||||||
thunar-archive-plugin
|
|
||||||
thunar-media-tags-plugin
|
|
||||||
tumbler
|
|
||||||
ffmpegthumbnailer
|
|
||||||
gvfs
|
|
||||||
xdg-utils
|
|
||||||
];
|
|
||||||
|
|
||||||
in {
|
|
||||||
# Top-level toggle option
|
|
||||||
options.mySystem.${programName}.enable =
|
|
||||||
lib.mkEnableOption "Enable Thunar file manager";
|
|
||||||
|
|
||||||
# Wrap everything in mkIf(enable)
|
|
||||||
config = lib.mkIf enableProgram {
|
config = lib.mkIf enableProgram {
|
||||||
|
myApps.thunar = {
|
||||||
# mySystem container
|
user = config.defaultUser or "henrov";
|
||||||
mySystem = {
|
# Add extra Thunar config if needed
|
||||||
${programName} = {
|
|
||||||
enable = true;
|
|
||||||
packages = thunarPkgs;
|
|
||||||
user = config.defaultUser or defaultUser;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Home Manager user configuration
|
packages = [ pkgs.thunar pkgs.thunar-plugins pkgs.xarchiver ];
|
||||||
home-manager.users.${config.defaultUser or defaultUser} = {
|
|
||||||
home.stateVersion = "26.05";
|
|
||||||
home.username = config.defaultUser or defaultUser;
|
|
||||||
home.homeDirectory = "/home/${config.defaultUser or defaultUser}";
|
|
||||||
home.packages = thunarPkgs;
|
|
||||||
|
|
||||||
# Default file manager
|
|
||||||
xdg.mimeApps = {
|
|
||||||
defaultApplications = {
|
|
||||||
"inode/directory" = "Thunar.desktop";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +0,0 @@
|
|||||||
{ lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# Declare a submodule container for all mySystem children
|
|
||||||
options.mySystem = lib.mkSubmodule {
|
|
||||||
description = "Root container for all mySystem options";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user