Compare commits
9 commits
4a6f1a035e
...
9c6bc0630d
Author | SHA1 | Date | |
---|---|---|---|
9c6bc0630d | |||
9a18c250df | |||
49f1f933d0 | |||
b176aa7368 | |||
10d169e85b | |||
b73e2eecc5 | |||
411080df71 | |||
3fbc4c0642 | |||
854edf73a0 |
31 changed files with 197 additions and 1684 deletions
|
@ -15,11 +15,6 @@
|
|||
|
||||
# TODO: Move these to custom modules
|
||||
overlays = [
|
||||
(import ./overlays/firefox-addons {
|
||||
inherit (inputs.nixpkgs) lib;
|
||||
inherit inputs;
|
||||
})
|
||||
(import ./overlays/jetbrains.nix {inherit inputs;})
|
||||
(import ./overlays/wezterm.nix {inherit inputs;})
|
||||
];
|
||||
};
|
||||
|
|
|
@ -9,15 +9,6 @@
|
|||
config.easy-hosts = {
|
||||
shared.specialArgs.marleylib = import ../lib {inherit lib;};
|
||||
|
||||
# shared.modules = with inputs; [
|
||||
# # TODO: Move module imports to custom module
|
||||
# {
|
||||
# home-manager.sharedModules = [
|
||||
# nixcord.homeModules.nixcord
|
||||
# ];
|
||||
# }
|
||||
# ];
|
||||
|
||||
perClass = class: {
|
||||
modules = ["${self}/modules/${class}/default.nix"];
|
||||
};
|
||||
|
|
|
@ -24,6 +24,7 @@ in {
|
|||
home-manager.users."${name}" = {
|
||||
marleyos = {
|
||||
shell.niri.monitors = ["DP-1" "HDMI-A-1"];
|
||||
programs.calibre = enabled;
|
||||
services.syncthing = enabled;
|
||||
};
|
||||
|
||||
|
|
|
@ -16,7 +16,6 @@ in {
|
|||
|
||||
home-manager = {
|
||||
useUserPackages = true;
|
||||
useGlobalPkgs = true;
|
||||
backupFileExtension = "bak";
|
||||
|
||||
users."${my.name}" = {
|
||||
|
|
|
@ -50,18 +50,7 @@
|
|||
};
|
||||
};
|
||||
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
|
||||
overlays = [
|
||||
inputs.nur.overlays.default
|
||||
|
||||
# Custom packages
|
||||
(import ../../overlays/marleyos.nix)
|
||||
];
|
||||
};
|
||||
nixpkgs = import ./nixpkgs.nix {inherit inputs;};
|
||||
|
||||
# More useful repl.
|
||||
environment.systemPackages = let
|
||||
|
|
12
modules/base/nixpkgs.nix
Normal file
12
modules/base/nixpkgs.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{inputs, ...}: {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
|
||||
overlays = [
|
||||
inputs.nur.overlays.default
|
||||
|
||||
# Custom packages.
|
||||
(import ../../overlays/marleyos.nix)
|
||||
];
|
||||
}
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
|
@ -10,11 +9,6 @@ in {
|
|||
options.marleyos.programs.neovim.enable = lib.mkEnableOption "neovim";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
# Has to be applied on the OS level to use in HM.
|
||||
nixpkgs.overlays = [
|
||||
(import ../../../overlays/marleyvim.nix {inherit inputs;})
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim
|
||||
];
|
||||
|
|
|
@ -4,7 +4,9 @@ in {
|
|||
marleyos = {
|
||||
programs = {
|
||||
fish = enabled;
|
||||
floorp = enabled;
|
||||
nh = enabled;
|
||||
phpstorm = enabled;
|
||||
wezterm = enabled;
|
||||
wireguard = enabled;
|
||||
};
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
{
|
||||
imports = [
|
||||
./fish.nix
|
||||
./floorp.nix
|
||||
./nh.nix
|
||||
./phpstorm.nix
|
||||
./wezterm.nix
|
||||
./wireguard.nix
|
||||
];
|
||||
|
|
13
modules/darwin/programs/floorp.nix
Normal file
13
modules/darwin/programs/floorp.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.marleyos.programs.floorp;
|
||||
in {
|
||||
options.marleyos.programs.floorp.enable = lib.mkEnableOption "floorp";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
homebrew.casks = ["floorp"];
|
||||
};
|
||||
}
|
13
modules/darwin/programs/phpstorm.nix
Normal file
13
modules/darwin/programs/phpstorm.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.marleyos.programs.phpstorm;
|
||||
in {
|
||||
options.marleyos.programs.phpstorm.enable = lib.mkEnableOption "phpstorm";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
homebrew.casks = ["phpstorm"];
|
||||
};
|
||||
}
|
|
@ -5,6 +5,7 @@
|
|||
./options
|
||||
|
||||
./home-manager.nix
|
||||
./nix.nix
|
||||
|
||||
./system
|
||||
./shell
|
||||
|
|
3
modules/home/nix.nix
Normal file
3
modules/home/nix.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{inputs, ...}: {
|
||||
config.nixpkgs = import ../base/nixpkgs.nix {inherit inputs;};
|
||||
}
|
|
@ -48,14 +48,20 @@ in {
|
|||
programs = {
|
||||
amfora = enabled;
|
||||
cava = enabled;
|
||||
CEmu = enabled;
|
||||
cheat = enabled;
|
||||
discord = enabled;
|
||||
floorp = enabled;
|
||||
fzf = enabled;
|
||||
gh = enabled;
|
||||
glow = enabled;
|
||||
jqp = enabled;
|
||||
ncmpcpp = enabled;
|
||||
nemo = enabled;
|
||||
neo = enabled;
|
||||
neovim = enabled;
|
||||
phpstorm = enabled;
|
||||
superfile = enabled;
|
||||
tea = enabled;
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
|
@ -8,7 +8,7 @@
|
|||
in {
|
||||
options.marleyos.programs.CEmu.enable = lib.mkEnableOption "CEmu";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
config = lib.mkIf (cfg.enable && pkgs.stdenv.isLinux) {
|
||||
home.packages = with pkgs; [
|
||||
# cemu-ti
|
||||
marleyos.CEmu-TI-84-Plus-CE
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
|
@ -4,12 +4,16 @@
|
|||
./amfora
|
||||
./bat.nix
|
||||
./btop.nix
|
||||
./calibre.nix
|
||||
./cava.nix
|
||||
./CEmu.nix
|
||||
./cheat.nix
|
||||
./curl.nix
|
||||
./discord.nix
|
||||
./eza.nix
|
||||
./figlet.nix
|
||||
./fish.nix
|
||||
./floorp.nix
|
||||
./fuzzel.nix
|
||||
./fzf.nix
|
||||
./gh.nix
|
||||
|
@ -26,13 +30,16 @@
|
|||
./lazygit.nix
|
||||
./less.nix
|
||||
./man.nix
|
||||
./ncmpcpp.nix
|
||||
./nemo.nix
|
||||
./neo.nix
|
||||
./neovim.nix
|
||||
./nh.nix
|
||||
./phpstorm
|
||||
./ripgrep.nix
|
||||
./ssh.nix
|
||||
./starship
|
||||
./superfile.nix
|
||||
./systemctl.nix
|
||||
./tea.nix
|
||||
./tmux.nix
|
||||
|
|
|
@ -1,14 +1,20 @@
|
|||
{
|
||||
lib,
|
||||
marleylib,
|
||||
config,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
inherit (lib.marleyos) enabled disabled;
|
||||
inherit (marleylib.module) enabled disabled;
|
||||
|
||||
cfg = config.marleyos.programs.discord;
|
||||
in {
|
||||
options.marleyos.programs.discord.enable = lib.mkEnableOption "discord";
|
||||
|
||||
imports = [
|
||||
inputs.nixcord.homeModules.nixcord
|
||||
];
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
programs.nixcord = {
|
||||
enable = true;
|
||||
|
@ -117,7 +123,7 @@ in {
|
|||
theme = themes."${scheme}" or defaultTheme;
|
||||
in {
|
||||
enable = true;
|
||||
theme = theme;
|
||||
inherit theme;
|
||||
useDevIcon = "COLOR";
|
||||
};
|
||||
|
|
@ -1,15 +1,27 @@
|
|||
{
|
||||
lib,
|
||||
marleylib,
|
||||
config,
|
||||
osConfig,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
inherit (marleylib.module) mkEnableOption';
|
||||
|
||||
cfg = config.marleyos.programs.floorp;
|
||||
osCfg = osConfig.marleyos.programs.floorp.enable or false;
|
||||
in {
|
||||
options.marleyos.programs.floorp.enable = lib.mkEnableOption "floorp";
|
||||
options.marleyos.programs.floorp.enable = mkEnableOption' "floorp" osCfg;
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
# FIXME: switch to this once it's available
|
||||
nixpkgs.overlays = [
|
||||
(import ../../../overlays/firefox-addons {
|
||||
inherit lib;
|
||||
inherit pkgs;
|
||||
})
|
||||
];
|
||||
|
||||
# FIXME: switch to this once upgraded to 25.05
|
||||
# stylix.targets.floorp = {
|
||||
# enable = true;
|
||||
# colorTheme.enable = true;
|
||||
|
@ -18,9 +30,10 @@ in {
|
|||
|
||||
programs.floorp = {
|
||||
enable = true;
|
||||
package = lib.mkIf pkgs.stdenv.isDarwin pkgs.emptyDirectory;
|
||||
|
||||
profiles = {
|
||||
"${config.marleyos.my.name}" = {
|
||||
"${config.marleycfg.my.name}" = {
|
||||
extensions =
|
||||
(with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
archivebox-exporter
|
||||
|
@ -75,7 +88,7 @@ in {
|
|||
# Quieter Fox - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Recommendations
|
||||
"extensions.getAddons.showPane" = false; # uses google analytics
|
||||
"extensions.htmlaboutaddons.reccomendations.enabled" = false;
|
||||
"extensions.htmlaboutaddons.recommendations.enabled" = false;
|
||||
"browser.discovery.enabled" = false;
|
||||
"browser.shopping.experience2023.enabled" = false;
|
||||
|
||||
|
@ -177,7 +190,7 @@ in {
|
|||
"security.ssl.treat_unsafe_negotiation_as_broken" = true;
|
||||
"browser.xul.error_pages.expert_bad_cert" = true;
|
||||
|
||||
# Referers - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
# Referrers - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
"network.http.referer.XOriginTrimmingPolicy" = 2;
|
||||
|
||||
# Containers - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.marleyos.programs.ncmpcpp;
|
|
@ -3,6 +3,7 @@
|
|||
config,
|
||||
osConfig,
|
||||
lib,
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
|
@ -15,6 +16,10 @@ in {
|
|||
mkEnableOption' "neovim" osCfg.enable;
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
nixpkgs.overlays = [
|
||||
(import ../../../overlays/marleyvim.nix {inherit inputs;})
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
nvim
|
||||
];
|
||||
|
|
|
@ -357,7 +357,7 @@ nmap <leader>so <Action>(ShowSettings)
|
|||
" Quickfix List
|
||||
nmap <leader>sq <Action>(ActivateProblemsViewToolWindow)
|
||||
" Resume
|
||||
nmap <leader>sR :echo 'Not yet implmented.'<cr>
|
||||
nmap <leader>sR :echo 'Not yet implemented.'<cr>
|
||||
" Goto Symbol
|
||||
nmap <leader>ss <Action>(GotoSymbol)
|
||||
" Goto Symbol (Workspace)
|
||||
|
@ -405,7 +405,7 @@ nmap <leader>dp <Action>(Pause)
|
|||
" Toggle REPL
|
||||
nmap <leader>dr <Action>(JShell.Console)
|
||||
" Session
|
||||
nmap <leader>ds :echo 'Not yet implmented.'<cr>
|
||||
nmap <leader>ds :echo 'Not yet implemented.'<cr>
|
||||
" Terminate
|
||||
nmap <leader>dt <Action>(Stop)
|
||||
" Widgets
|
34
modules/home/programs/phpstorm/default.nix
Normal file
34
modules/home/programs/phpstorm/default.nix
Normal file
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
marleylib,
|
||||
config,
|
||||
osConfig,
|
||||
lib,
|
||||
pkgs,
|
||||
inputs,
|
||||
...
|
||||
}: let
|
||||
inherit (marleylib.module) mkEnableOption';
|
||||
|
||||
cfg = config.marleyos.programs.phpstorm;
|
||||
osCfg = osConfig.marleyos.programs.phpstorm.enable or false;
|
||||
in {
|
||||
options.marleyos.programs.phpstorm.enable = mkEnableOption' "phpstorm" osCfg;
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
# JetBrains products are unfree.
|
||||
nixpkgs = {
|
||||
config.allowUnfree = lib.mkIf pkgs.stdenv.isLinux (lib.mkForce true);
|
||||
|
||||
overlays = [
|
||||
(import ../../../../overlays/jetbrains.nix {inherit inputs;})
|
||||
];
|
||||
};
|
||||
|
||||
home.packages = lib.mkIf pkgs.stdenv.isLinux (with pkgs; [
|
||||
# jetbrains.phpstorm
|
||||
marleyos.phpstorm-with-node
|
||||
]);
|
||||
|
||||
home.file.".ideavimrc".source = ./.ideavimrc;
|
||||
};
|
||||
}
|
52
modules/home/programs/superfile.nix
Normal file
52
modules/home/programs/superfile.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.marleyos.programs.superfile;
|
||||
in {
|
||||
options.marleyos.programs.superfile.enable = lib.mkEnableOption "superfile";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
superfile
|
||||
];
|
||||
|
||||
xdg.configFile."superfile/config.toml".text =
|
||||
# https://superfile.netlify.app/configure/superfile-config/
|
||||
# toml
|
||||
''
|
||||
theme = "${config.lib.stylix.colors.scheme-name}"
|
||||
editor = "" # use $EDITOR
|
||||
auto_check_update = false
|
||||
cd_on_quit = false
|
||||
default_open_file_preview = true
|
||||
default_directory = "."
|
||||
|
||||
# Display file sizes using powers of 1000 (kb, MB, GB) instead of powers
|
||||
# of 1024 (KiB, MiB, GiB).
|
||||
file_size_use_si = false
|
||||
|
||||
# Style - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
nerfont = true
|
||||
transparent_background = false
|
||||
file_preview_width = 0
|
||||
sidebar_width = 20
|
||||
border_top = '─'
|
||||
border_bottom = '─'
|
||||
border_left = '│'
|
||||
border_right = '│'
|
||||
border_top_left = '╭'
|
||||
border_top_right = '╮'
|
||||
border_bottom_left = '╰'
|
||||
border_bottom_right = '╯'
|
||||
border_middle_left = '├'
|
||||
border_middle_right = '┤'
|
||||
|
||||
# Plugins - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
metadata = false # requires exiftool
|
||||
enable_md5_checksum = false
|
||||
'';
|
||||
};
|
||||
}
|
|
@ -1,11 +1,11 @@
|
|||
{
|
||||
lib,
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
buildFirefoxXpiAddon = lib.makeOverridable ({
|
||||
stdenv ? inputs.nixpkgs.stdenv,
|
||||
fetchurl ? inputs.nixpkgs.fetchurl,
|
||||
stdenv ? pkgs.stdenv,
|
||||
fetchurl ? pkgs.fetchurl,
|
||||
pname,
|
||||
version,
|
||||
addonId,
|
||||
|
@ -35,7 +35,7 @@
|
|||
in
|
||||
_: prev: {
|
||||
marleyos =
|
||||
prev.marleyos
|
||||
(prev.marleyos or {})
|
||||
// {
|
||||
firefox-addons = import ./addons.nix {
|
||||
inherit buildFirefoxXpiAddon lib;
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
{inputs}: _: _: {
|
||||
inherit (inputs.nixpkgs-unstable) jetbrains jetbrains-toolbox;
|
||||
{inputs}: final: _: let
|
||||
unstable = import inputs.nixpkgs-unstable {
|
||||
inherit (final) system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
in {
|
||||
inherit (unstable) jetbrains jetbrains-toolbox;
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.marleyos.programs.phpstorm;
|
||||
in {
|
||||
options.marleyos.programs.phpstorm.enable = lib.mkEnableOption "phpstorm";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
# JetBrains products are unfree.
|
||||
nixpkgs.config.allowUnfree = lib.mkForce true;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
# jetbrains.phpstorm
|
||||
marleyos.phpstorm-with-node
|
||||
];
|
||||
|
||||
home.file.".ideavimrc".source = ./.ideavimrc;
|
||||
};
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.marleyos.programs.tui;
|
||||
|
||||
inherit (lib.marleyos) enabled;
|
||||
in {
|
||||
options.marleyos.programs.tui.enable = lib.mkEnableOption "tui";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
marleyos.programs = {
|
||||
amfora = enabled;
|
||||
btop = enabled;
|
||||
cava = enabled;
|
||||
jqp = enabled;
|
||||
lazydocker = enabled;
|
||||
lazygit = enabled;
|
||||
ncmpcpp = enabled;
|
||||
neovim = enabled;
|
||||
superfile = enabled;
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,57 +0,0 @@
|
|||
# More details are at https://superfile.netlify.app/configure/superfile-config/
|
||||
#
|
||||
# change your theme
|
||||
# TODO: set this via stylix
|
||||
theme = 'rose-pine'
|
||||
#
|
||||
# The editor files/directories will be opened with. (leave blank to use the EDITOR environment variable).
|
||||
editor = ""
|
||||
#
|
||||
# Auto check for update
|
||||
auto_check_update = false
|
||||
#
|
||||
# Cd on quit (For more details, please check out https://superfile.netlify.app/configure/superfile-config/#cd_on_quit)
|
||||
cd_on_quit = false
|
||||
#
|
||||
# Whether to open file preview automatically every time superfile is opened.
|
||||
default_open_file_preview = true
|
||||
#
|
||||
# The path of the first file panel when superfile is opened. (DON'T USE '~')
|
||||
default_directory = "."
|
||||
#
|
||||
# Display file sizes using powers of 1000 (kB, MB, GB) instead of powers of 1024 (KiB, MiB, GiB).
|
||||
file_size_use_si = false
|
||||
#
|
||||
# ================ Style =================
|
||||
#
|
||||
# If you don't have or don't want Nerdfont installed you can turn this off
|
||||
nerdfont = true
|
||||
#
|
||||
# Set transparent background or not (this only work when your terminal background is transparent)
|
||||
transparent_background = false
|
||||
#
|
||||
# File preview width allow '0' (this mean same as file panel),'x' x must be less than 10 and greater than 1 (This means that the width of the file preview will be one xth of the total width.)
|
||||
file_preview_width = 0
|
||||
#
|
||||
# The length of the sidebar. If you don't want to display the sidebar, you can input 0 directly. If you want to display the value, please place it in the range of 3-20.
|
||||
sidebar_width = 20
|
||||
#
|
||||
# Border style
|
||||
border_top = '─'
|
||||
border_bottom = '─'
|
||||
border_left = '│'
|
||||
border_right = '│'
|
||||
border_top_left = '╭'
|
||||
border_top_right = '╮'
|
||||
border_bottom_left = '╰'
|
||||
border_bottom_right = '╯'
|
||||
border_middle_left = '├'
|
||||
border_middle_right = '┤'
|
||||
#
|
||||
# ==========PLUGINS========== #
|
||||
#
|
||||
# Show more detailed metadata, please install exiftool before enabling this plugin!
|
||||
metadata = false
|
||||
#
|
||||
# Enable MD5 checksum generation for files
|
||||
enable_md5_checksum = false
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.marleyos.programs.superfile;
|
||||
in {
|
||||
options.marleyos.programs.superfile.enable = lib.mkEnableOption "superfile";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
superfile
|
||||
];
|
||||
|
||||
xdg.configFile."superfile/config.toml".source = ./config.toml;
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue