Compare commits
29 commits
3d2f4e8724
...
603971e590
Author | SHA1 | Date | |
---|---|---|---|
603971e590 | |||
5d3e9d47ff | |||
e53f2fd23d | |||
e2d1a54594 | |||
f364afefd9 | |||
61bcca0e3d | |||
14f7c99c30 | |||
fc804cd443 | |||
dc8c3121ef | |||
627b5a6aa1 | |||
4a67198a86 | |||
ea753db9c4 | |||
568f5dfbc3 | |||
26bf0c8618 | |||
035dfa62a1 | |||
a019e2f168 | |||
c89472f897 | |||
a4d176a3b8 | |||
64168f40c9 | |||
6894adf02e | |||
8c2ed133c3 | |||
b96bf6dd06 | |||
5035b060f3 | |||
9017706dbd | |||
1d2f4c677c | |||
24e1850800 | |||
4303d86e7f | |||
954653ad31 | |||
2ecc6e684a |
28 changed files with 301 additions and 194 deletions
|
@ -13,34 +13,11 @@ in {
|
||||||
];
|
];
|
||||||
|
|
||||||
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
|
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
|
||||||
# wallpaper = outputs.wallpapers.cyberpunk-city-red;
|
nixpkgs = {
|
||||||
#
|
config = {
|
||||||
# # ------ ----- ------
|
permittedInsecurePackages = [
|
||||||
# # | DP-3 | | DP-1| | DP-2 |
|
"electron-25.9.0"
|
||||||
# # ------ ----- ------
|
];
|
||||||
# monitors = [
|
};
|
||||||
# {
|
};
|
||||||
# name = "DP-3";
|
|
||||||
# width = 1920;
|
|
||||||
# height = 1080;
|
|
||||||
# x = 0;
|
|
||||||
# workspace = "3";
|
|
||||||
# enabled = false;
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# name = "DP-1";
|
|
||||||
# width = 2560;
|
|
||||||
# height = 1080;
|
|
||||||
# x = 1920;
|
|
||||||
# workspace = "1";
|
|
||||||
# primary = true;
|
|
||||||
# }
|
|
||||||
# {
|
|
||||||
# name = "DP-2";
|
|
||||||
# width = 1920;
|
|
||||||
# height = 1080;
|
|
||||||
# x = 4480;
|
|
||||||
# workspace = "2";
|
|
||||||
# }
|
|
||||||
# ];
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,10 +20,14 @@
|
||||||
httpie # Better curl
|
httpie # Better curl
|
||||||
diffsitter # Better diff
|
diffsitter # Better diff
|
||||||
jq # JSON pretty printer and manipulator
|
jq # JSON pretty printer and manipulator
|
||||||
timer # To help with my ADHD paralysis
|
timer # Nice looking timer
|
||||||
lazydocker # Docker TUI
|
lazydocker # Docker TUI
|
||||||
neofetch
|
neofetch # Unixporn stuff
|
||||||
tldr # nice & short manual snippets
|
tldr # Nice & short manual snippets
|
||||||
|
ntfy-sh # Push notifications to other devices
|
||||||
|
ipinfo # IP geolocation
|
||||||
|
|
||||||
|
mpv # Video player
|
||||||
|
|
||||||
nvd # Differ
|
nvd # Differ
|
||||||
nix-output-monitor
|
nix-output-monitor
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
hasLazydocker = hasPackage "lazydocker";
|
hasLazydocker = hasPackage "lazydocker";
|
||||||
hasNixYourShell = hasPackage "nix-your-shell";
|
hasNixYourShell = hasPackage "nix-your-shell";
|
||||||
hasShellColor = config.programs.shellcolor.enable;
|
hasShellColor = config.programs.shellcolor.enable;
|
||||||
|
hasWezterm = config.programs.wezterm.enable;
|
||||||
shellcolor = "${pkgs.shellcolord}/bin/shellcolor";
|
shellcolor = "${pkgs.shellcolord}/bin/shellcolor";
|
||||||
in {
|
in {
|
||||||
programs.fish = {
|
programs.fish = {
|
||||||
|
@ -44,6 +45,14 @@ in {
|
||||||
name = "autopair";
|
name = "autopair";
|
||||||
src = pkgs.fishPlugins.autopair.src;
|
src = pkgs.fishPlugins.autopair.src;
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "puffer";
|
||||||
|
src = pkgs.fishPlugins.puffer.src;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "z";
|
||||||
|
src = pkgs.fishPlugins.z.src;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
shellAliases = {
|
shellAliases = {
|
||||||
lzg = mkIf hasLazygit "lazygit";
|
lzg = mkIf hasLazygit "lazygit";
|
||||||
|
@ -53,6 +62,13 @@ in {
|
||||||
slp = "systemctl suspend";
|
slp = "systemctl suspend";
|
||||||
sdn = "shutdown 0";
|
sdn = "shutdown 0";
|
||||||
nrs = "nh os switch ~/.setup";
|
nrs = "nh os switch ~/.setup";
|
||||||
|
|
||||||
|
ls = mkIf hasExa "eza";
|
||||||
|
ll = mkIf hasExa "eza -l";
|
||||||
|
la = mkIf hasExa "eza -la";
|
||||||
|
exa = mkIf hasExa "eza";
|
||||||
|
|
||||||
|
imgcat = mkIf hasWezterm "wezterm imgcat";
|
||||||
};
|
};
|
||||||
shellAbbrs = rec {
|
shellAbbrs = rec {
|
||||||
jqless = "jq -C | less -r";
|
jqless = "jq -C | less -r";
|
||||||
|
@ -65,8 +81,13 @@ in {
|
||||||
nbn = "nix build nixpkgs#";
|
nbn = "nix build nixpkgs#";
|
||||||
nf = "nix flake";
|
nf = "nix flake";
|
||||||
|
|
||||||
ls = mkIf hasExa "eza";
|
glk = "gpg --list-keys --with-keygrip";
|
||||||
exa = mkIf hasExa "eza";
|
gssh = "gpg --export-ssh-key";
|
||||||
|
gnk = "gpg --full-generate-key --expert";
|
||||||
|
gek = "gpg --edit-key --expert";
|
||||||
|
|
||||||
|
udmount = "udisksctl mount -b";
|
||||||
|
udumount = "udisksctl unmount -b";
|
||||||
};
|
};
|
||||||
functions = {
|
functions = {
|
||||||
# Disable greeting
|
# Disable greeting
|
||||||
|
|
|
@ -69,6 +69,7 @@ in {
|
||||||
type = "lua";
|
type = "lua";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cmp-path
|
||||||
nvim-cmp
|
nvim-cmp
|
||||||
{
|
{
|
||||||
plugin = nvim-cmp;
|
plugin = nvim-cmp;
|
||||||
|
@ -101,6 +102,7 @@ in {
|
||||||
p.java
|
p.java
|
||||||
p.rust
|
p.rust
|
||||||
p.cpp
|
p.cpp
|
||||||
|
p.c
|
||||||
p.css
|
p.css
|
||||||
p.csv
|
p.csv
|
||||||
p.dockerfile
|
p.dockerfile
|
||||||
|
@ -143,6 +145,7 @@ in {
|
||||||
nui-nvim
|
nui-nvim
|
||||||
{
|
{
|
||||||
plugin = neo-tree-nvim;
|
plugin = neo-tree-nvim;
|
||||||
|
config = builtins.readFile ./plugin/neo-tree.lua;
|
||||||
type = "lua";
|
type = "lua";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,6 +175,23 @@ in {
|
||||||
config = builtins.readFile ./plugin/none-ls.lua;
|
config = builtins.readFile ./plugin/none-ls.lua;
|
||||||
type = "lua";
|
type = "lua";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
plugin = nvim-autopairs;
|
||||||
|
config = "require('nvim-autopairs').setup({})";
|
||||||
|
type = "lua";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
plugin = barbar-nvim;
|
||||||
|
config = builtins.readFile ./plugin/barbar.lua;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
plugin = nvim-surround;
|
||||||
|
config = "require('nvim-surround').setup({})";
|
||||||
|
type = "lua";
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
extraLuaConfig = ''
|
extraLuaConfig = ''
|
||||||
|
|
|
@ -16,3 +16,6 @@ vim.o.updatetime = 300
|
||||||
vim.o.termguicolors = true
|
vim.o.termguicolors = true
|
||||||
|
|
||||||
vim.o.mouse = "a"
|
vim.o.mouse = "a"
|
||||||
|
|
||||||
|
-- disable empty line ~
|
||||||
|
vim.o.fillchars = "eob: "
|
||||||
|
|
0
home/features/coding/nvim/plugin/barbar.lua
Normal file
0
home/features/coding/nvim/plugin/barbar.lua
Normal file
|
@ -42,5 +42,6 @@ cmp.setup({
|
||||||
sources = {
|
sources = {
|
||||||
{ name = "nvim_lsp" },
|
{ name = "nvim_lsp" },
|
||||||
{ name = "luasnip" },
|
{ name = "luasnip" },
|
||||||
|
{ name = "path" },
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
19
home/features/coding/nvim/plugin/neo-tree.lua
Normal file
19
home/features/coding/nvim/plugin/neo-tree.lua
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
require("neo-tree").setup({
|
||||||
|
close_if_last_window = true, -- Close Neo-tree if it is the last window left in the tab
|
||||||
|
hide_root_node = true, -- Hide the root node
|
||||||
|
filesystem = {
|
||||||
|
filtered_items = {
|
||||||
|
visible = false,
|
||||||
|
hide_dotfiles = false,
|
||||||
|
hide_gitignored = false,
|
||||||
|
hide_by_name = {
|
||||||
|
".git",
|
||||||
|
".DS_Store",
|
||||||
|
"thumbs.db",
|
||||||
|
},
|
||||||
|
show_hidden_count = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<C-n>", "<Cmd>Neotree toggle<CR>")
|
|
@ -1,8 +1,18 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
./alacritty.nix
|
./alacritty.nix
|
||||||
|
./wezterm.nix
|
||||||
./font.nix
|
./font.nix
|
||||||
./playerctl.nix
|
./playerctl.nix
|
||||||
|
./easyeffects.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
jellyfin-media-player # watch shows & movies from jellyfin with hardware decoding
|
||||||
|
feishin-appimage # self-packaged feishin while electron build fails
|
||||||
|
signal-desktop # secure messenger
|
||||||
|
webcord-vencord # more "privacy friendly" discord client
|
||||||
|
obsidian
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
6
home/features/desktop/common/easyeffects.nix
Normal file
6
home/features/desktop/common/easyeffects.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
# services.easyeffects.enable = true;
|
||||||
|
xdg.configFile."easyeffects/output/Beyerdynamic_DT990_Oratory.json" = {
|
||||||
|
source = ../../../../rsc/config/easyeffects/Beyerdynamic_DT990_Oratory.json;
|
||||||
|
};
|
||||||
|
}
|
|
@ -117,58 +117,67 @@
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
"dom.security.https_only_mode" = true;
|
"dom.security.https_only_mode" = true;
|
||||||
"browser.download.panel.shown" = true;
|
"browser.download.panel.shown" = false;
|
||||||
|
"browser.toolbars.bookmarks.visibility" = "always";
|
||||||
"signon.rememberSignons" = false;
|
"signon.rememberSignons" = false;
|
||||||
"browser.formfill.enable" = false;
|
"browser.formfill.enable" = false;
|
||||||
"signon. prefillForms" = false;
|
"signon. prefillForms" = false;
|
||||||
"browser.shell.checkDefaultBrowser" = false;
|
"browser.shell.checkDefaultBrowser" = false;
|
||||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
# "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||||
"browser.uiCustomization.state" = ''{"placements":{"widget-overflow-fixed-list":[],"unified-extensions-area":["addon_darkreader_org-browser-action","plasma-browser-integration_kde_org-browser-action","_506e023c-7f2b-40a3-8066-bc5deb40aebe_-browser-action","_testpilot-containers-browser-action","7esoorv3_alefvanoon_anonaddy_me-browser-action","_a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7_-browser-action","gdpr_cavi_au_dk-browser-action","firefoxcolor_mozilla_com-browser-action","firefox-translations-addon_mozilla_org-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","urlbar-container","downloads-button","unified-extensions-button","ublock0_raymondhill_net-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["personal-bookmarks"]},"seen":["save-to-pocket-button","developer-button","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","addon_darkreader_org-browser-action","ublock0_raymondhill_net-browser-action","plasma-browser-integration_kde_org-browser-action","_506e023c-7f2b-40a3-8066-bc5deb40aebe_-browser-action","_testpilot-containers-browser-action","7esoorv3_alefvanoon_anonaddy_me-browser-action","_a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7_-browser-action","gdpr_cavi_au_dk-browser-action","firefoxcolor_mozilla_com-browser-action","firefox-translations-addon_mozilla_org-browser-action"],"dirtyAreaCache":["nav-bar","PersonalToolbar","toolbar-menubar","TabsToolbar","unified-extensions-area"],"currentVersion":20,"newElementCount":4}'';
|
"browser.uiCustomization.state" = ''{"placements":{"widget-overflow-fixed-list":[],"unified-extensions-area":["addon_darkreader_org-browser-action","plasma-browser-integration_kde_org-browser-action","_506e023c-7f2b-40a3-8066-bc5deb40aebe_-browser-action","_testpilot-containers-browser-action","7esoorv3_alefvanoon_anonaddy_me-browser-action","_a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7_-browser-action","gdpr_cavi_au_dk-browser-action","firefoxcolor_mozilla_com-browser-action","firefox-translations-addon_mozilla_org-browser-action"],"nav-bar":["back-button","forward-button","stop-reload-button","urlbar-container","downloads-button","unified-extensions-button","ublock0_raymondhill_net-browser-action","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["tabbrowser-tabs","new-tab-button","alltabs-button"],"PersonalToolbar":["personal-bookmarks"]},"seen":["save-to-pocket-button","developer-button","_446900e4-71c2-419f-a6a7-df9c091e268b_-browser-action","addon_darkreader_org-browser-action","ublock0_raymondhill_net-browser-action","plasma-browser-integration_kde_org-browser-action","_506e023c-7f2b-40a3-8066-bc5deb40aebe_-browser-action","_testpilot-containers-browser-action","7esoorv3_alefvanoon_anonaddy_me-browser-action","_a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7_-browser-action","gdpr_cavi_au_dk-browser-action","firefoxcolor_mozilla_com-browser-action","firefox-translations-addon_mozilla_org-browser-action"],"dirtyAreaCache":["nav-bar","PersonalToolbar","toolbar-menubar","TabsToolbar","unified-extensions-area"],"currentVersion":20,"newElementCount":4}'';
|
||||||
};
|
};
|
||||||
arkenfox = {
|
arkenfox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
"0000".enable = true;
|
"0000".enable = true;
|
||||||
"0100" = {
|
"0100" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# Allow setting homepage
|
# Allow setting homepage
|
||||||
"0102"."browser.startup.page".value = 1;
|
"0102"."browser.startup.page".value = 1;
|
||||||
};
|
};
|
||||||
"0200" = {
|
"0200" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
"0300".enable = true;
|
"0300".enable = true;
|
||||||
# We keep safebrowsing
|
# We keep safebrowsing
|
||||||
"0400".enable = false;
|
"0400".enable = false;
|
||||||
"0600" = {
|
"0600" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
"0610"."browser.send_pings".enable = true;
|
"0610"."browser.send_pings".enable = true;
|
||||||
};
|
};
|
||||||
"0700" = {
|
"0700" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# Disable DNS over HTTPS
|
# Disable DNS over HTTPS
|
||||||
"0710"."network.trr.mode".value = 5;
|
"0710"."network.trr.mode".value = 5;
|
||||||
};
|
};
|
||||||
# "0800" = {
|
# "0800" = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# # Keep using url bar as search bar
|
# # Keep using url bar as search bar
|
||||||
# "0801"."keyword.enabled".value = true;
|
# "0801"."keyword.enabled".value = true;
|
||||||
# };
|
# };
|
||||||
"0900".enable = true;
|
"0900".enable = true;
|
||||||
"1000" = {
|
"1000" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# Enable disk cache for performance reasons
|
# Enable disk cache for performance reasons
|
||||||
"1001"."browser.cache.disk.enable".enable = true;
|
"1001"."browser.cache.disk.enable".enable = true;
|
||||||
"1001"."browser.cache.disk.enable".value = true;
|
"1001"."browser.cache.disk.enable".value = true;
|
||||||
};
|
};
|
||||||
"1200".enable = true;
|
"1200".enable = true;
|
||||||
# I don't use container tabs
|
# I don't use container tabs
|
||||||
"1700".enable = false;
|
"1700".enable = false;
|
||||||
"2600" = {
|
"2600" = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# The recent documents feature is useful
|
# useDownloadDir
|
||||||
"2653".enable = false;
|
"2651".enable = false;
|
||||||
};
|
# always_ask_before_handling_new_types
|
||||||
"2700".enable = true;
|
"2654".enable = false;
|
||||||
|
};
|
||||||
|
"2700".enable = true;
|
||||||
|
"2800" = {
|
||||||
|
"2812".enable = true;
|
||||||
|
};
|
||||||
|
"5000" = {
|
||||||
|
"5008".enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
53
home/features/desktop/common/wezterm.nix
Normal file
53
home/features/desktop/common/wezterm.nix
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.wezterm = {
|
||||||
|
enable = true;
|
||||||
|
colorSchemes = {
|
||||||
|
"${config.colorscheme.slug}" = with config.colorScheme; {
|
||||||
|
foreground = "#${colors.base05}";
|
||||||
|
background = "#${colors.base00}";
|
||||||
|
|
||||||
|
ansi = [
|
||||||
|
"#${colors.base00}"
|
||||||
|
"#${colors.base08}"
|
||||||
|
"#${colors.base0B}"
|
||||||
|
"#${colors.base0A}"
|
||||||
|
"#${colors.base0D}"
|
||||||
|
"#${colors.base0E}"
|
||||||
|
"#${colors.base0C}"
|
||||||
|
"#${colors.base05}"
|
||||||
|
];
|
||||||
|
brights = [
|
||||||
|
"#${colors.base03}"
|
||||||
|
"#${colors.base08}"
|
||||||
|
"#${colors.base0B}"
|
||||||
|
"#${colors.base0A}"
|
||||||
|
"#${colors.base0D}"
|
||||||
|
"#${colors.base0E}"
|
||||||
|
"#${colors.base0C}"
|
||||||
|
"#${colors.base07}"
|
||||||
|
];
|
||||||
|
cursor_fg = "#${colors.base00}";
|
||||||
|
cursor_bg = "#${colors.base05}";
|
||||||
|
selection_fg = "#${colors.base00}";
|
||||||
|
selection_bg = "#${colors.base05}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
extraConfig = ''
|
||||||
|
return {
|
||||||
|
font = wezterm.font("${config.fontProfiles.monospace.family}"),
|
||||||
|
font_size = 12.0,
|
||||||
|
window_background_opacity = 0.83,
|
||||||
|
color_scheme = "${config.colorscheme.slug}",
|
||||||
|
hide_tab_bar_if_only_one_tab = true,
|
||||||
|
window_close_confirmation = "NeverPrompt",
|
||||||
|
set_environment_variables = {
|
||||||
|
TERM = 'wezterm',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,5 +1,4 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
# ./steam.nix
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
steam-with-pkgs = pkgs.steam.override {
|
|
||||||
extraPkgs = pkgs:
|
|
||||||
with pkgs; [
|
|
||||||
xorg.libXcursor
|
|
||||||
xorg.libXi
|
|
||||||
xorg.libXinerama
|
|
||||||
xorg.libXScrnSaver
|
|
||||||
libpng
|
|
||||||
libpulseaudio
|
|
||||||
libvorbis
|
|
||||||
stdenv.cc.cc.lib
|
|
||||||
libkrb5
|
|
||||||
keyutils
|
|
||||||
gamescope
|
|
||||||
mangohud
|
|
||||||
];
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
steam-with-pkgs
|
|
||||||
gamescope
|
|
||||||
mangohud
|
|
||||||
protontricks
|
|
||||||
];
|
|
||||||
}
|
|
|
@ -32,9 +32,12 @@
|
||||||
../common/optional/kde-connect.nix
|
../common/optional/kde-connect.nix
|
||||||
../common/optional/gnome-keyring.nix
|
../common/optional/gnome-keyring.nix
|
||||||
../common/optional/adb.nix
|
../common/optional/adb.nix
|
||||||
|
../common/optional/docker.nix
|
||||||
../common/optional/gaming/gamemode.nix
|
../common/optional/gaming/gamemode.nix
|
||||||
../common/optional/gaming/steam.nix
|
../common/optional/gaming/steam.nix
|
||||||
../common/optional/gaming/vr.nix
|
../common/optional/gaming/vr.nix
|
||||||
|
../common/optional/desktop/japanese.nix
|
||||||
|
../common/optional/udisks.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
|
|
|
@ -18,17 +18,17 @@
|
||||||
boot.extraModulePackages = [];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" = {
|
fileSystems."/" = {
|
||||||
device = "/dev/disk/by-uuid/f9ba57fb-0b82-47e0-8189-7bbebc530e2b";
|
device = "/dev/disk/by-uuid/e92a5e85-52ce-4627-be79-5c07a99e2d1b";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-uuid/BCF2-51D4";
|
device = "/dev/disk/by-uuid/348E-AC69";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
{device = "/dev/disk/by-uuid/4834fbc3-3feb-4b93-b11f-8b9bd054c5c1";}
|
{device = "/dev/disk/by-uuid/ae322cab-c083-4644-80ff-9122498d54e8";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
./nix.nix
|
./nix.nix
|
||||||
./podman.nix
|
./podman.nix
|
||||||
./power-button.nix
|
./power-button.nix
|
||||||
|
./documentation.nix
|
||||||
]
|
]
|
||||||
++ (builtins.attrValues outputs.nixosModules);
|
++ (builtins.attrValues outputs.nixosModules);
|
||||||
|
|
||||||
|
|
9
hosts/common/global/documentation.nix
Normal file
9
hosts/common/global/documentation.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
environment.systemPackages = with pkgs; [man-pages man-pages-posix];
|
||||||
|
documentation.dev.enable = true;
|
||||||
|
documentation.man = {
|
||||||
|
# In order to enable to mandoc man-db has to be disabled.
|
||||||
|
man-db.enable = false;
|
||||||
|
mandoc.enable = true;
|
||||||
|
};
|
||||||
|
}
|
12
hosts/common/optional/desktop/japanese.nix
Normal file
12
hosts/common/optional/desktop/japanese.nix
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
i18n.inputMethod = {
|
||||||
|
enabled = "fcitx5";
|
||||||
|
fcitx5.addons = with pkgs; [
|
||||||
|
fcitx5-mozc
|
||||||
|
fcitx5-gtk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
fonts.fonts = with pkgs; [
|
||||||
|
noto-fonts-cjk-sans
|
||||||
|
];
|
||||||
|
}
|
15
hosts/common/optional/desktop/plasma.nix
Normal file
15
hosts/common/optional/desktop/plasma.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
imports = [./global.nix ./x11.nix];
|
||||||
|
|
||||||
|
services.xserver.desktopManager.plasma5.enable = true;
|
||||||
|
environment.plasma5.excludePackages = with pkgs.libsForQt5; [
|
||||||
|
elisa
|
||||||
|
gwenview
|
||||||
|
okular
|
||||||
|
oxygen
|
||||||
|
khelpcenter
|
||||||
|
konsole
|
||||||
|
plasma-browser-integration
|
||||||
|
print-manager
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,21 +1,38 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
pkgs,
|
||||||
inputs,
|
inputs,
|
||||||
|
lib,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.xremap.nixosModules.default
|
inputs.xremap.nixosModules.default
|
||||||
];
|
];
|
||||||
|
|
||||||
|
hardware.uinput.enable = true;
|
||||||
|
users.groups.uinput.members = ["ghoscht"];
|
||||||
|
users.groups.input.members = ["ghoscht"];
|
||||||
|
|
||||||
|
systemd.user.services.set-xhost = {
|
||||||
|
description = "Run a one-shot command upon user login";
|
||||||
|
path = [pkgs.xorg.xhost];
|
||||||
|
wantedBy = ["default.target"];
|
||||||
|
script = "xhost +SI:localuser:root";
|
||||||
|
environment.DISPLAY = "DP-4"; # NOTE: This is hardcoded for this flake
|
||||||
|
};
|
||||||
|
|
||||||
services.xremap = {
|
services.xremap = {
|
||||||
withX11 = true;
|
withX11 = true;
|
||||||
|
watch = true;
|
||||||
|
# debug = true;
|
||||||
|
userName = "ghoscht";
|
||||||
|
serviceMode = "system";
|
||||||
config = {
|
config = {
|
||||||
keymap = [
|
keymap = [
|
||||||
{
|
{
|
||||||
name = "main remaps";
|
name = "main remaps";
|
||||||
remap = {
|
remap = {
|
||||||
super-e = {
|
super-e = {
|
||||||
launch = ["firefox"];
|
launch = ["${lib.getExe pkgs.pavucontrol}"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,45 +7,7 @@
|
||||||
programs = {
|
programs = {
|
||||||
steam = {
|
steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
alvr = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware = {
|
|
||||||
# Enable Steam hardware compatibility
|
|
||||||
# steam-hardware.enable = true;
|
|
||||||
|
|
||||||
# Enable OpenGL
|
|
||||||
opengl = {
|
|
||||||
enable = true;
|
|
||||||
driSupport = true;
|
|
||||||
driSupport32Bit = true;
|
|
||||||
extraPackages = with pkgs; [libva-utils];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Allow Minecraft server ports
|
|
||||||
networking.firewall.allowedTCPPorts = [25565];
|
|
||||||
|
|
||||||
# Fixes SteamLink/Remote play crashing, add packages necessary for VR
|
|
||||||
environment.systemPackages = with pkgs;
|
|
||||||
[libcanberra protonup-qt]
|
|
||||||
++ [
|
|
||||||
android-tools
|
|
||||||
android-udev-rules
|
|
||||||
sidequest
|
|
||||||
BeatSaberModManager
|
|
||||||
helvum
|
|
||||||
];
|
|
||||||
|
|
||||||
# Fixes issue with SteamVR not starting
|
|
||||||
system.activationScripts = {
|
|
||||||
fixSteamVR = "${pkgs.libcap}/bin/setcap CAP_SYS_NICE+ep /home/ghoscht/.local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrcompositor-launcher";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.mime = {
|
xdg.mime = {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
# programs.alvr = {
|
programs.alvr = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# openFirewall = true;
|
openFirewall = true;
|
||||||
# };
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
{
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
console = {
|
|
||||||
useXkbConfig = true;
|
|
||||||
earlySetup = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
boot = {
|
|
||||||
plymouth = {
|
|
||||||
enable = true;
|
|
||||||
theme = "spinner-monochrome";
|
|
||||||
themePackages = [
|
|
||||||
(pkgs.plymouth-spinner-monochrome.override {
|
|
||||||
inherit (config.boot.plymouth) logo;
|
|
||||||
})
|
|
||||||
];
|
|
||||||
};
|
|
||||||
loader.timeout = 0;
|
|
||||||
kernelParams = [
|
|
||||||
"quiet"
|
|
||||||
"loglevel=3"
|
|
||||||
"systemd.show_status=auto"
|
|
||||||
"udev.log_level=3"
|
|
||||||
"rd.udev.log_level=3"
|
|
||||||
"vt.global_cursor_default=0"
|
|
||||||
];
|
|
||||||
consoleLogLevel = 0;
|
|
||||||
initrd.verbose = false;
|
|
||||||
};
|
|
||||||
}
|
|
3
hosts/common/optional/udisks.nix
Normal file
3
hosts/common/optional/udisks.nix
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
services.udisks2.enable = true;
|
||||||
|
}
|
|
@ -4,10 +4,10 @@
|
||||||
fetchurl,
|
fetchurl,
|
||||||
}: let
|
}: let
|
||||||
pname = "alvr";
|
pname = "alvr";
|
||||||
version = "20.5.0";
|
version = "v21.0.0-dev00+nightly.2023.12.31";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/alvr-org/ALVR/releases/download/v${version}/ALVR-x86_64.AppImage";
|
url = "https://github.com/alvr-org/ALVR-nightly/releases/download/v21.0.0-dev00%2Bnightly.2023.12.31/ALVR-x86_64.AppImage";
|
||||||
hash = "sha256-shA93fK/F+PNRv+DCTfvN+tm0w/sj/yPEYc5ms2vHRk=";
|
hash = "sha256-bRnuQGGSXd+QJGKzACgfwFOmKgk3u9JoIj6krB+HHC8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
appimageContents = appimageTools.extractType2 {inherit pname version src;};
|
appimageContents = appimageTools.extractType2 {inherit pname version src;};
|
||||||
|
|
|
@ -3,4 +3,5 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
# example = pkgs.callPackage ./example { };
|
# example = pkgs.callPackage ./example { };
|
||||||
alvr = pkgs.callPackage ./alvr {};
|
alvr = pkgs.callPackage ./alvr {};
|
||||||
|
feishin-appimage = pkgs.callPackage ./feishin {};
|
||||||
}
|
}
|
||||||
|
|
26
pkgs/feishin/default.nix
Normal file
26
pkgs/feishin/default.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
appimageTools,
|
||||||
|
fetchurl,
|
||||||
|
}: let
|
||||||
|
pname = "feishin";
|
||||||
|
version = "0.5.3";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://github.com/jeffvli/feishin/releases/download/v${version}/Feishin-${version}-linux-x86_64.AppImage";
|
||||||
|
hash = "sha256-1JlsEBLVBaaae9NDGsGI5CyE+XcBunSt0CWQFpkL87w=";
|
||||||
|
};
|
||||||
|
|
||||||
|
appimageContents = appimageTools.extractType2 {inherit pname version src;};
|
||||||
|
in
|
||||||
|
appimageTools.wrapType2 {
|
||||||
|
inherit pname version src;
|
||||||
|
|
||||||
|
extraInstallCommands = ''
|
||||||
|
mv $out/bin/${pname}-${version} $out/bin/${pname}
|
||||||
|
|
||||||
|
install -Dm444 ${appimageContents}/feishin.desktop -t $out/share/applications
|
||||||
|
substituteInPlace $out/share/applications/feishin.desktop \
|
||||||
|
--replace 'Exec=AppRun --no-sandbox %U' 'Exec=${pname}'
|
||||||
|
cp -r ${appimageContents}/usr/share/icons $out/share
|
||||||
|
'';
|
||||||
|
}
|
Loading…
Reference in a new issue