forked from aylac.top/nixcfg
this repo has no description

skibidi

aylac.top caa5d10a c879b3ed

verified
Changed files
+142 -29
homes
modules
home
desktop
gnome
profiles
defaultApps
shell
+9 -10
homes/ayla/default.nix
···
defaultApps = {
enable = true;
forceMimeAssociations = true;
-
archiveViewer.package = pkgs.file-roller;
-
audioPlayer.package = config.programs.mpv.finalPackage;
-
videoPlayer.package = config.programs.mpv.finalPackage;
-
#editor.package = pkgs.gnome-text-editor;
-
editor.package = pkgs.helix;
-
fileManager.package = pkgs.nautilus;
-
imageViewer.package = pkgs.loupe;
-
pdfViewer.package = pkgs.papers;
-
#terminal.package = pkgs.ptyxis;
+
editor = {
+
package = config.programs.helix.package;
+
terminal = true;
+
icon = "helix";
+
};
terminalEditor.package = config.programs.helix.package;
-
webBrowser.package = config.programs.helium.package;
+
webBrowser = {
+
package = config.programs.helium.package;
+
icon = "helium";
+
};
};
};
};
+32 -7
modules/home/desktop/gnome/default.nix
···
];
myHome.profiles.defaultApps = {
-
audioPlayer.package = lib.mkDefault pkgs.mpv;
-
editor.package = lib.mkDefault pkgs.gnome-text-editor;
-
fileManager.package = lib.mkDefault pkgs.nautilus;
-
imageViewer.package = lib.mkDefault pkgs.loupe;
-
pdfViewer.package = lib.mkDefault pkgs.papers;
-
terminal.package = lib.mkDefault pkgs.gnome-console;
-
videoPlayer.package = lib.mkDefault pkgs.mpv;
+
archiveViewer = {
+
package = lib.mkDefault pkgs.file-roller;
+
icon = lib.mkDefault "org.gnome.FileRoller";
+
};
+
audioPlayer = {
+
package = lib.mkDefault config.programs.mpv.finalPackage;
+
icon = lib.mkDefault "mpv";
+
};
+
editor = {
+
package = lib.mkDefault pkgs.gnome-text-editor;
+
icon = lib.mkDefault "org.gnome.TextEditor";
+
};
+
fileManager = {
+
package = lib.mkDefault pkgs.nautilus;
+
icon = lib.mkDefault "org.gnome.Nautilus";
+
};
+
imageViewer = {
+
package = lib.mkDefault pkgs.loupe;
+
icon = lib.mkDefault "org.gnome.Loupe";
+
};
+
pdfViewer = {
+
package = lib.mkDefault pkgs.papers;
+
icon = lib.mkDefault "org.gnome.Papers";
+
};
+
terminal = {
+
package = lib.mkDefault pkgs.gnome-console;
+
icon = lib.mkDefault "org.gnome.Terminal";
+
};
+
videoPlayer = {
+
package = lib.mkDefault config.programs.mpv.finalPackage;
+
icon = lib.mkDefault "mpv";
+
};
};
};
}
+100 -11
modules/home/profiles/defaultApps/default.nix
···
default = lib.getExe cfg.archiveViewer.package;
description = "The executable path for the default archive viewer.";
};
+
+
icon = lib.mkOption {
+
type = lib.types.str;
+
default = "";
+
description = "The icon name for the default archive viewer.";
+
};
};
audioPlayer = {
···
default = lib.getExe cfg.audioPlayer.package;
description = "The executable path for the default audio player.";
};
+
+
terminal = lib.mkOption {
+
type = lib.types.bool;
+
default = false;
+
description = "Whether the editor is a terminal-based application.";
+
};
+
+
icon = lib.mkOption {
+
type = lib.types.str;
+
default = "";
+
description = "The icon name for the default audio player.";
+
};
};
editor = {
···
default = lib.getExe cfg.editor.package;
description = "The executable path for the default text editor.";
};
+
+
terminal = lib.mkOption {
+
type = lib.types.bool;
+
default = false;
+
description = "Whether the editor is a terminal-based application.";
+
};
+
+
icon = lib.mkOption {
+
type = lib.types.str;
+
default = "";
+
description = "The icon name for the default text editor.";
+
};
};
fileManager = {
···
type = lib.types.str;
default = lib.getExe cfg.fileManager.package;
description = "The executable path for the default file manager.";
+
};
+
+
terminal = lib.mkOption {
+
type = lib.types.bool;
+
default = false;
+
description = "Whether the editor is a terminal-based application.";
+
};
+
+
icon = lib.mkOption {
+
type = lib.types.str;
+
default = "";
+
description = "The icon name for the default file manager.";
};
};
···
default = lib.getExe cfg.imageViewer.package;
description = "The executable path for the default image viewer.";
};
+
+
icon = lib.mkOption {
+
type = lib.types.str;
+
default = "";
+
description = "The icon name for the default image viewer.";
+
};
};
pdfViewer = {
···
default = lib.getExe cfg.pdfViewer.package;
description = "The executable path for the default PDF viewer.";
};
+
+
terminal = lib.mkOption {
+
type = lib.types.bool;
+
default = false;
+
description = "Whether the editor is a terminal-based application.";
+
};
+
+
icon = lib.mkOption {
+
type = lib.types.str;
+
default = "";
+
description = "The icon name for the default PDF viewer.";
+
};
};
terminal = {
···
type = lib.types.str;
default = lib.getExe cfg.terminal.package;
description = "The executable path for the default terminal emulator.";
+
};
+
+
icon = lib.mkOption {
+
type = lib.types.str;
+
default = "";
+
description = "The icon name for the default terminal emulator.";
};
};
···
default = lib.getExe cfg.videoPlayer.package;
description = "The executable path for the default video player.";
};
+
+
icon = lib.mkOption {
+
type = lib.types.str;
+
default = "";
+
description = "The icon name for the default video player.";
+
};
};
webBrowser = {
···
type = lib.types.str;
default = lib.getExe cfg.webBrowser.package;
description = "The executable path for the default web browser.";
+
};
+
+
icon = lib.mkOption {
+
type = lib.types.str;
+
default = lib.getIcon cfg.webBrowser.package;
+
description = "The icon name for the default web browser.";
};
};
};
···
};
desktopEntries = let
-
mkDefaultEntry = name: exec: {
+
mkDefaultEntry = name: exec: terminal: icon: {
exec = "${exec} %U";
-
icon = "${builtins.baseNameOf exec}";
+
icon =
+
if icon != ""
+
then icon
+
else "${builtins.baseNameOf exec}";
name = "Default ${name}";
-
terminal = false;
+
inherit terminal;
settings = {
NoDisplay = "true";
···
};
in
lib.mkIf cfg.forceMimeAssociations {
-
defaultAudioPlayer = mkDefaultEntry "Audio Player" cfg.audioPlayer.exec;
-
defaultEditor = mkDefaultEntry "Editor" cfg.editor.exec;
-
defaultFileManager = mkDefaultEntry "File Manager" cfg.fileManager.exec;
-
defaultImageViewer = mkDefaultEntry "Image Viewer" cfg.imageViewer.exec;
-
defaultPdfViewer = mkDefaultEntry "PDF Viewer" cfg.pdfViewer.exec;
-
defaultVideoPlayer = mkDefaultEntry "Video Player" cfg.videoPlayer.exec;
-
defaultWebBrowser = mkDefaultEntry "Web Browser" cfg.webBrowser.exec;
-
defaultArchiveViewer = mkDefaultEntry "Archive Viewer" cfg.archiveViewer.exec;
+
defaultAudioPlayer =
+
mkDefaultEntry "Audio Player" cfg.audioPlayer.exec cfg.audioPlayer.terminal cfg.audioPlayer.icon;
+
defaultEditor =
+
mkDefaultEntry "Editor" cfg.editor.exec cfg.editor.terminal cfg.editor.icon;
+
defaultFileManager =
+
mkDefaultEntry "File Manager" cfg.fileManager.exec cfg.fileManager.terminal cfg.fileManager.icon;
+
defaultImageViewer =
+
mkDefaultEntry "Image Viewer" cfg.imageViewer.exec false cfg.imageViewer.icon;
+
defaultPdfViewer =
+
mkDefaultEntry "PDF Viewer" cfg.pdfViewer.exec cfg.pdfViewer.terminal cfg.pdfViewer.icon;
+
defaultVideoPlayer =
+
mkDefaultEntry "Video Player" cfg.videoPlayer.exec false cfg.videoPlayer.icon;
+
defaultWebBrowser =
+
mkDefaultEntry "Web Browser" cfg.webBrowser.exec false cfg.webBrowser.icon;
+
defaultArchiveViewer =
+
mkDefaultEntry "Archive Viewer" cfg.archiveViewer.exec false cfg.archiveViewer.icon;
};
};
};
+1 -1
modules/home/profiles/shell/default.nix
···
l = "eza -lah";
tree = "eza --tree";
top = "btop";
-
cat = "bat";
+
cat = "bat -p -P";
ytmusic = "yt-dlp -f 251 --remux-video opus --embed-metadata --embed-thumbnail -o \"%(album)s/%(disc_number>0)s%(disc_number)02d-%(track_number)02d %(title)s.%(ext)s\"";
};
};