Compare commits
2
Commits
master
..
797a0c52c5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
797a0c52c5 | ||
|
|
fa663e4098 |
@@ -1 +0,0 @@
|
|||||||
/hostname/flake.nix
|
|
||||||
-35
@@ -1,35 +0,0 @@
|
|||||||
keys:
|
|
||||||
- &admin_ankaa age1079fszreaakwf6xnwu9kra8xcsp4e8q8ed3y99yrhjnz9n3t9pnsj05m97
|
|
||||||
- &admin_alpheratz age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr
|
|
||||||
- &diphda age1rxqyz6watg05r3rzlme7grpgfgezhlt535gdl7psqys2ec8eegmqchfk4d
|
|
||||||
- &alpheratz age1cla0k3yffcelphkrmgz5upc0chgtdef25ne833jeqtapceux59rqkmhxf7
|
|
||||||
- &ankaa age15z4s7nts7ls5h3tu5zesghvnm3kj2qk3dsr004g8rwy578mq4q4qew7wl7
|
|
||||||
creation_rules:
|
|
||||||
- path_regex: secrets/[^/]+\.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *admin_ankaa
|
|
||||||
- *admin_alpheratz
|
|
||||||
- path_regex: secrets/shared/[^/]+\.(yaml|otf)$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *admin_ankaa
|
|
||||||
- *admin_alpheratz
|
|
||||||
- *alpheratz
|
|
||||||
- *ankaa
|
|
||||||
- *diphda
|
|
||||||
- path_regex: secrets/ankaa/[^/]+\.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *admin_ankaa
|
|
||||||
- path_regex: secrets/alpheratz/[^/]+\.yaml$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *admin_alpheratz
|
|
||||||
- *alpheratz
|
|
||||||
- path_regex: secrets/diphda/[^/]+\.(yaml|keytab)$
|
|
||||||
key_groups:
|
|
||||||
- age:
|
|
||||||
- *admin_ankaa
|
|
||||||
- *admin_alpheratz
|
|
||||||
- *diphda
|
|
||||||
@@ -0,0 +1,162 @@
|
|||||||
|
# Edit this configuration file to define what should be installed on
|
||||||
|
# your system. Help is available in the configuration.nix(5) man page, on
|
||||||
|
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||||
|
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
nixpkgs = {
|
||||||
|
overlays = [];
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nix = {
|
||||||
|
settings = {
|
||||||
|
experimental-features = "nix-command flakes";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Use the systemd-boot EFI boot loader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.systemd-boot.xbootldrMountPoint = "/boot";
|
||||||
|
boot.loader.efi.efiSysMountPoint = "/efi";
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|
||||||
|
powerManagement.powertop.enable = true;
|
||||||
|
|
||||||
|
fileSystems = {
|
||||||
|
"/".options = [ "compress=zstd" ];
|
||||||
|
"/home".options = [ "compress=zstd" ];
|
||||||
|
"/nix".options = [ "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.hostName = "alpheratz";
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
networking.nameservers = [ "192.168.0.100" ];
|
||||||
|
networking.firewall = {
|
||||||
|
allowedUDPPorts = [ 51820 ];
|
||||||
|
};
|
||||||
|
networking.wg-quick.interfaces = {
|
||||||
|
wg0 = {
|
||||||
|
address = [ "10.6.0.5" ];
|
||||||
|
listenPort = 51820;
|
||||||
|
privateKeyFile = "/root/wireguard-keys/wg0/private";
|
||||||
|
dns = [ "10.2.0.100" ];
|
||||||
|
|
||||||
|
peers = [
|
||||||
|
{
|
||||||
|
publicKey = "pEWHugUnnhWXkJzCIhXryRRZMoCAuvAITDeP4ItenQk=";
|
||||||
|
presharedKeyFile = "/root/wireguard-keys/wg0/preshared";
|
||||||
|
allowedIPs = [ "10.2.0.0/24" "192.168.0.0/24" ];
|
||||||
|
endpoint = "jellyfin.simmer505.com:51820";
|
||||||
|
persistentKeepalive = 25;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "America/Chicago";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
services.xserver.xkb.layout = "us";
|
||||||
|
services.xserver.xkb.options = "caps:escape";
|
||||||
|
|
||||||
|
fonts.packages = with pkgs; [
|
||||||
|
font-awesome
|
||||||
|
];
|
||||||
|
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# List packages installed in system profile. To search, run:
|
||||||
|
environment.systemPackages = with pkgs; with outputs.packages.x86_64-linux; [
|
||||||
|
wget
|
||||||
|
curl
|
||||||
|
ldns
|
||||||
|
git
|
||||||
|
killall
|
||||||
|
vim
|
||||||
|
wl-clipboard
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
waybar
|
||||||
|
alacritty
|
||||||
|
kickoff
|
||||||
|
firefox
|
||||||
|
bottom
|
||||||
|
eza
|
||||||
|
ripgrep
|
||||||
|
fzf
|
||||||
|
mpv
|
||||||
|
wireguard-tools
|
||||||
|
pulseaudio
|
||||||
|
eza
|
||||||
|
pavucontrol
|
||||||
|
kickoff-dot-desktop
|
||||||
|
];
|
||||||
|
|
||||||
|
programs.sway.enable = true;
|
||||||
|
programs.fish.enable = true;
|
||||||
|
programs.thunar.enable = true;
|
||||||
|
programs.light.enable = true;
|
||||||
|
|
||||||
|
programs.neovim = {
|
||||||
|
enable = true;
|
||||||
|
defaultEditor = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.portal.wlr.enable = true;
|
||||||
|
|
||||||
|
# Define a user account.
|
||||||
|
users.users.eesim = {
|
||||||
|
isNormalUser = true;
|
||||||
|
extraGroups = [ "wheel" "video" "audo" "networkmanager" ];
|
||||||
|
packages = with pkgs; [];
|
||||||
|
shell = pkgs.fish;
|
||||||
|
};
|
||||||
|
|
||||||
|
# List services that you want to enable:
|
||||||
|
|
||||||
|
# Enable the OpenSSH daemon.
|
||||||
|
# services.openssh.enable = true;
|
||||||
|
|
||||||
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
|
# services.xserver.libinput.enable = true;
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
# services.printing.enable = true;
|
||||||
|
|
||||||
|
# Enable sound.
|
||||||
|
# sound.enable = true;
|
||||||
|
# hardware.pulseaudio.enable = true;
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
|
||||||
|
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
||||||
|
# and migrated your data accordingly.
|
||||||
|
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||||
|
system.stateVersion = "23.11"; # Did you read the comment?
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
if status is-interactive
|
||||||
|
### Local environment variables
|
||||||
|
|
||||||
|
set -g fish_greeting
|
||||||
|
set -g fish_cursor_default block
|
||||||
|
set -g fish_cursor_insert line
|
||||||
|
set -g fish_cursor_replace_one underscore
|
||||||
|
set -g fish_cursor_replace underscore
|
||||||
|
set -g fish_cursor_external line
|
||||||
|
set -g fish_cursor_visual block
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
if test (tty) = "/dev/tty1"
|
||||||
|
sway
|
||||||
|
end
|
||||||
|
|
||||||
|
if status is-login
|
||||||
|
|
||||||
|
### Environment Variables
|
||||||
|
|
||||||
|
# Set nvim to default editor
|
||||||
|
set -x SUDO_EDITOR = "/usr/bin/nvim"
|
||||||
|
|
||||||
|
# Set R library location
|
||||||
|
set -x R_LIBS_USER = "/home/eesim/.local/lib/R"
|
||||||
|
|
||||||
|
# Disable GTK portal
|
||||||
|
set -x GTK_USE_PORTAL=0
|
||||||
|
|
||||||
|
# Wayland environment variables
|
||||||
|
set -x XDG_CURRENT_DESKTOP = "sway"
|
||||||
|
set -x XDG_CURRENT_SESSION = "sway"
|
||||||
|
set -x XDG_SESSION_TYPE = "wayland"
|
||||||
|
set -x ELECTRON_OZONE_PLATFORM_HINT = "auto"
|
||||||
|
set -x QT_QPA_PLATFORM = "wayland;xcb"
|
||||||
|
set -x SDL_VIDEODRIVER = "wayland,x11"
|
||||||
|
|
||||||
|
# Java fix
|
||||||
|
set -x _JAVA_AWT_WM_NONREPARENTING = "1"
|
||||||
|
|
||||||
|
### Themes
|
||||||
|
set -x QT_QPA_PLATFORMTHEME = "qt5ct"
|
||||||
|
|
||||||
|
### Start fish
|
||||||
|
exec fish
|
||||||
|
end
|
||||||
@@ -3,7 +3,6 @@ require('config/settings')
|
|||||||
require('config/plugins')
|
require('config/plugins')
|
||||||
require('config/plugins/lualine')
|
require('config/plugins/lualine')
|
||||||
require('config/plugins/lspconfig')
|
require('config/plugins/lspconfig')
|
||||||
require('config/plugins/iron')
|
|
||||||
|
|
||||||
local vimscriptpath = vim.fn.stdpath("config") .. "/lua/config/vimscript/"
|
local vimscriptpath = vim.fn.stdpath("config") .. "/lua/config/vimscript/"
|
||||||
|
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
|
||||||
|
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||||
|
"fzf-lua": { "branch": "main", "commit": "b442569ab827f72e344236c598b02cb9dc754e9f" },
|
||||||
|
"kanagawa.nvim": { "branch": "master", "commit": "860e4f80df71221d18bf2cd9ef1deb4d364274d2" },
|
||||||
|
"lazy.nvim": { "branch": "main", "commit": "8f19915175395680808de529e4220da8dafc0759" },
|
||||||
|
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" },
|
||||||
|
"nvim-autopairs": { "branch": "master", "commit": "c15de7e7981f1111642e7e53799e1211d4606cb9" },
|
||||||
|
"nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" },
|
||||||
|
"nvim-lspconfig": { "branch": "master", "commit": "b972e7154bc94ab4ecdbb38c8edbccac36f83996" },
|
||||||
|
"nvim-surround": { "branch": "main", "commit": "79aaa42da1f698ed31bcbe7f83081f69dca7ba17" },
|
||||||
|
"nvim-web-devicons": { "branch": "master", "commit": "e37bb1feee9e7320c76050a55443fa843b4b6f83" },
|
||||||
|
"rust.vim": { "branch": "master", "commit": "889b9a7515db477f4cb6808bef1769e53493c578" },
|
||||||
|
"typst.vim": { "branch": "main", "commit": "d9a7650e76c85f8ba437e056d08dd43b01b8bfd6" }
|
||||||
|
}
|
||||||
+1
-6
@@ -8,12 +8,7 @@ vim.keymap.set('n', '<C-l>', '<C-w>l')
|
|||||||
|
|
||||||
vim.keymap.set('n', '<leader>ff', ':FzfLua files<CR>')
|
vim.keymap.set('n', '<leader>ff', ':FzfLua files<CR>')
|
||||||
vim.keymap.set('n', '<leader>fb', ':FzfLua buffers<CR>')
|
vim.keymap.set('n', '<leader>fb', ':FzfLua buffers<CR>')
|
||||||
vim.keymap.set('n', '<leader>rg', ':FzfLua grep_project<CR>')
|
vim.keymap.set('n', '<leader>rg', ':FzfLua grep<CR>')
|
||||||
|
|
||||||
vim.keymap.set('n', 'ga', '<Plug>(EasyAlign)')
|
|
||||||
vim.keymap.set('x', 'ga', '<Plug>(EasyAlign)')
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
vim.keymap.set('i', '<S-Tab>', '<C-d>')
|
vim.keymap.set('i', '<S-Tab>', '<C-d>')
|
||||||
|
|
||||||
+11
-22
@@ -4,24 +4,26 @@ local plugins = {
|
|||||||
'nvim-lualine/lualine.nvim',
|
'nvim-lualine/lualine.nvim',
|
||||||
'kyazdani42/nvim-web-devicons',
|
'kyazdani42/nvim-web-devicons',
|
||||||
|
|
||||||
{
|
'kylechui/nvim-surround',
|
||||||
'kylechui/nvim-surround',
|
|
||||||
event = "VeryLazy",
|
|
||||||
config = true,
|
|
||||||
},
|
|
||||||
|
|
||||||
|
{
|
||||||
'ibhagwan/fzf-lua',
|
'ibhagwan/fzf-lua',
|
||||||
|
config = function()
|
||||||
|
require('fzf-lua').setup({'skim'})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
'neovim/nvim-lspconfig',
|
'neovim/nvim-lspconfig',
|
||||||
'hrsh7th/nvim-cmp',
|
'hrsh7th/nvim-cmp',
|
||||||
'hrsh7th/cmp-nvim-lsp',
|
'hrsh7th/cmp-nvim-lsp',
|
||||||
'hrsh7th/cmp-path',
|
'hrsh7th/cmp-path',
|
||||||
'L3MON4D3/LuaSnip',
|
|
||||||
|
'rust-lang/rust.vim',
|
||||||
|
|
||||||
{
|
{
|
||||||
'windwp/nvim-autopairs',
|
'windwp/nvim-autopairs',
|
||||||
event = 'InsertEnter',
|
event = 'InsertEnter',
|
||||||
opts = {},
|
opts={},
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -30,19 +32,6 @@ local plugins = {
|
|||||||
lazy = false,
|
lazy = false,
|
||||||
},
|
},
|
||||||
|
|
||||||
'jalvesaq/Nvim-R',
|
|
||||||
|
|
||||||
{
|
|
||||||
'RaafatTurki/hex.nvim',
|
|
||||||
config = function()
|
|
||||||
require('hex').setup()
|
|
||||||
end
|
|
||||||
},
|
|
||||||
|
|
||||||
'Vigemus/iron.nvim',
|
|
||||||
|
|
||||||
'junegunn/vim-easy-align',
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
+8
-24
@@ -1,7 +1,9 @@
|
|||||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||||
capabilities.textDocument.completion.completionItem.snippetSupport = false;
|
capabilities.textDocument.completion.completionItem.snippetSupport = false;
|
||||||
|
|
||||||
vim.lsp.config("rust_analyzer", {
|
local lspconfig = require('lspconfig')
|
||||||
|
|
||||||
|
lspconfig.rust_analyzer.setup {
|
||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
settings = {
|
settings = {
|
||||||
["rust-analyzer"] = {
|
["rust-analyzer"] = {
|
||||||
@@ -20,34 +22,18 @@ vim.lsp.config("rust_analyzer", {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
}
|
||||||
|
|
||||||
vim.lsp.config("matlab_ls", {
|
local servers = {'ccls', 'typst_lsp'}
|
||||||
capabilities = capabilities,
|
|
||||||
settings = {
|
|
||||||
MATLAB = {
|
|
||||||
indexWorkspace = false,
|
|
||||||
installPath = "",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.lsp.config("omnisharp", {
|
for _, lsp in ipairs(servers) do
|
||||||
cmd = { "dotnet", "/usr/lib/omnisharp-roslyn/OmniSharp.dll"}
|
lspconfig[lsp].setup {
|
||||||
})
|
|
||||||
|
|
||||||
local default_servers = {'pylsp', 'ccls', 'r_language_server', 'lua_ls', 'nil_ls', 'tinymist'}
|
|
||||||
|
|
||||||
for _, lsp in ipairs(default_servers) do
|
|
||||||
vim.lsp.config(lsp, {
|
|
||||||
capabilities = capabilities
|
capabilities = capabilities
|
||||||
})
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
local luasnip = require 'luasnip'
|
|
||||||
local cmp = require 'cmp'
|
local cmp = require 'cmp'
|
||||||
|
|
||||||
|
|
||||||
cmp.setup {
|
cmp.setup {
|
||||||
preselect = cmp.PreselectMode.None,
|
preselect = cmp.PreselectMode.None,
|
||||||
mapping = cmp.mapping.preset.insert({
|
mapping = cmp.mapping.preset.insert({
|
||||||
@@ -71,5 +57,3 @@ cmp.setup {
|
|||||||
{ name = 'path' },
|
{ name = 'path' },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
+2
-10
@@ -10,16 +10,6 @@ vim.opt.softtabstop=4
|
|||||||
vim.opt.shiftwidth=4
|
vim.opt.shiftwidth=4
|
||||||
vim.opt.shiftround=true
|
vim.opt.shiftround=true
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd(
|
|
||||||
{ "FileType" },
|
|
||||||
{ pattern = "nix",
|
|
||||||
callback = function()
|
|
||||||
vim.opt.softtabstop=2
|
|
||||||
vim.opt.shiftwidth=2
|
|
||||||
end
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
vim.opt.backspace={'indent','eol','start'}
|
vim.opt.backspace={'indent','eol','start'}
|
||||||
vim.opt.hidden=true
|
vim.opt.hidden=true
|
||||||
vim.opt.laststatus=2
|
vim.opt.laststatus=2
|
||||||
@@ -45,4 +35,6 @@ vim.opt.completeopt=menuone,noselect
|
|||||||
|
|
||||||
vim.opt.undofile=true
|
vim.opt.undofile=true
|
||||||
|
|
||||||
|
|
||||||
vim.g['loaded_perl_provider']=0
|
vim.g['loaded_perl_provider']=0
|
||||||
|
vim.g['python3_host_prog']='/usr/bin/python'
|
||||||
@@ -7,7 +7,7 @@ set $up k
|
|||||||
set $right l
|
set $right l
|
||||||
|
|
||||||
set $term alacritty
|
set $term alacritty
|
||||||
set $menu kickoff-dot-desktop | kickoff --from-stdin --stdout | xargs -d '\n' swaymsg exec
|
set $menu swaymsg exec $(kickoff-dot-desktop | kickoff --from-stdin --stdout)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -120,7 +120,7 @@ bindsym $mod+Shift+9 move container to workspace number 9
|
|||||||
bindsym $mod+Shift+0 move container to workspace number 10
|
bindsym $mod+Shift+0 move container to workspace number 10
|
||||||
|
|
||||||
for_window [app_id="simmer505.waywrite"] floating enable
|
for_window [app_id="simmer505.waywrite"] floating enable
|
||||||
for_window [app_id="org.speedcrunch."] floating enable
|
for_window [app_id="org.speedcrunch.speedcrunch"] floating enable
|
||||||
|
|
||||||
# Horizontal and vertical splits
|
# Horizontal and vertical splits
|
||||||
bindsym $mod+b splith
|
bindsym $mod+b splith
|
||||||
Generated
+10
-237
@@ -1,90 +1,17 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"flake-compat": {
|
"home-manager": {
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1747046372,
|
|
||||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "edolstra",
|
|
||||||
"repo": "flake-compat",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-parts": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1785627969,
|
|
||||||
"narHash": "sha256-4dtXQk/NMePegK/nWp5NSeuZKLATItOq61lpEvmXqGw=",
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"rev": "427bf4bd9435fdf21321c8cc628c24efc14c0f7a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hercules-ci",
|
|
||||||
"repo": "flake-parts",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731533236,
|
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager-stable": {
|
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs-stable"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1779506708,
|
"lastModified": 1716930911,
|
||||||
"narHash": "sha256-QOD/CNm196nCJRheux/URi4/HE66fthdOMqCJoPP1Y0=",
|
"narHash": "sha256-t4HT5j3Jy7skRB5PINnxcEBCkgE89rGBpwTI7YS4Ffo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "3ee51fbdac8c8bdfe1e7e1fcaba6520a563f394f",
|
"rev": "a9b36cbe9292a649222b89fdb9ae9907e9c74086",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"ref": "release-25.11",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager-unstable": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs-unstable"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1787379775,
|
|
||||||
"narHash": "sha256-XL2qfqmocfsvuEGyomZg4nOZfkuSe8vZtrOX99I+b6I=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "home-manager",
|
|
||||||
"rev": "ec1a8fdf74ed3f276148ee106299a2ba0e65d51f",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -93,98 +20,13 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"llama-cpp": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-parts": "flake-parts",
|
|
||||||
"nixpkgs": "nixpkgs"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1787409227,
|
|
||||||
"narHash": "sha256-DOn6+/gcRlACqIPTf6XK8yIsocLpwnbpGB1pg8raHbM=",
|
|
||||||
"owner": "ggerganov",
|
|
||||||
"repo": "llama.cpp",
|
|
||||||
"rev": "b21e4de74567f5eef213765c9476a843c2e43f0d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "ggerganov",
|
|
||||||
"repo": "llama.cpp",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nix-matlab": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat",
|
|
||||||
"nixpkgs": "nixpkgs_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1754476755,
|
|
||||||
"narHash": "sha256-vSF0VMEmPMzwNkrXIZwkhOSYmKES9BaDK/LlEe7/q8E=",
|
|
||||||
"owner": "doronbehar",
|
|
||||||
"repo": "nix-matlab",
|
|
||||||
"rev": "0e9c9fb660f9e1a1e4d59fd083e0212a15b513e2",
|
|
||||||
"type": "gitlab"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "doronbehar",
|
|
||||||
"repo": "nix-matlab",
|
|
||||||
"type": "gitlab"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1787360063,
|
"lastModified": 1716509168,
|
||||||
"narHash": "sha256-dt4WdcvsA8/RCe+VZZwqU0X+XMM3wBbGCWA0/sFWzGo=",
|
"narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=",
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "2c423e03bbafcff28bfadc6781a4a8257f205cb5",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-lib": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1785031560,
|
|
||||||
"narHash": "sha256-OmshNvn2vupOFpYinLUu+1Dnpu4n7Q5N3ggGVNHpkUI=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixpkgs.lib",
|
|
||||||
"rev": "0e79af5e3d4dcfcd676ab5ba3f95d2e3352e078c",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixpkgs.lib",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-stable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1782847189,
|
|
||||||
"narHash": "sha256-twXPFqFsrrY5r28Zh7Homgcp2gUMBgQ6WDS98Q/3xFI=",
|
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b6018f87da91d19d0ab4cf979885689b469cdd41",
|
"rev": "bfb7a882678e518398ce9a31a881538679f6f092",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"ref": "nixos-25.11",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-unstable": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1787360063,
|
|
||||||
"narHash": "sha256-dt4WdcvsA8/RCe+VZZwqU0X+XMM3wBbGCWA0/sFWzGo=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "2c423e03bbafcff28bfadc6781a4a8257f205cb5",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -194,79 +36,10 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1754340878,
|
|
||||||
"narHash": "sha256-lgmUyVQL9tSnvvIvBp7x1euhkkCho7n3TMzgjdvgPoU=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "cab778239e705082fe97bb4990e0d24c50924c04",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"id": "nixpkgs",
|
|
||||||
"type": "indirect"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1782175435,
|
|
||||||
"narHash": "sha256-EMzXKmnOtBQ2MnvpiNOm7E+kOMvdPrIKaeg52Tip2Uk=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "89570f24e97e614aa34aa9ab1c927b6578a43775",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixpkgs-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
"home-manager": "home-manager",
|
||||||
"home-manager-stable": "home-manager-stable",
|
"nixpkgs": "nixpkgs"
|
||||||
"home-manager-unstable": "home-manager-unstable",
|
|
||||||
"llama-cpp": "llama-cpp",
|
|
||||||
"nix-matlab": "nix-matlab",
|
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
|
||||||
"sops-nix": "sops-nix"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"sops-nix": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": "nixpkgs_3"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1786629091,
|
|
||||||
"narHash": "sha256-gkig4nPi1CWc4Z50GBsjE4ygSE7hMpl/TwID2an2Cck=",
|
|
||||||
"owner": "Mic92",
|
|
||||||
"repo": "sops-nix",
|
|
||||||
"rev": "a8627b21b9107c5711c96b84f32a9a4b3d45295f",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "Mic92",
|
|
||||||
"repo": "sops-nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -2,315 +2,39 @@
|
|||||||
description = "NixOS configuration";
|
description = "NixOS configuration";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.11";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
home-manager.url = "github:nix-community/home-manager";
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
||||||
home-manager-stable.url = "github:nix-community/home-manager/release-25.11";
|
|
||||||
home-manager-stable.inputs.nixpkgs.follows = "nixpkgs-stable";
|
|
||||||
|
|
||||||
home-manager-unstable.url = "github:nix-community/home-manager";
|
|
||||||
home-manager-unstable.inputs.nixpkgs.follows = "nixpkgs-unstable";
|
|
||||||
|
|
||||||
flake-utils.url = "github:numtide/flake-utils";
|
|
||||||
|
|
||||||
sops-nix.url = "github:Mic92/sops-nix";
|
|
||||||
|
|
||||||
llama-cpp.url = "github:ggerganov/llama.cpp";
|
|
||||||
|
|
||||||
nix-matlab.url = "gitlab:doronbehar/nix-matlab";
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ self
|
outputs = inputs@{ self, nixpkgs, home-manager, ... }: let
|
||||||
, nixpkgs-stable
|
inherit (self) outputs;
|
||||||
, nixpkgs-unstable
|
in {
|
||||||
, home-manager-stable
|
nixosConfigurations = {
|
||||||
, home-manager-unstable
|
alpheratz = nixpkgs.lib.nixosSystem {
|
||||||
, flake-utils
|
system = "x86_64-linux";
|
||||||
, sops-nix
|
specialArgs = {inherit inputs outputs;};
|
||||||
, llama-cpp
|
modules = [
|
||||||
, nix-matlab
|
./configuration.nix
|
||||||
, ...
|
home-manager.nixosModules.home-manager
|
||||||
}:
|
{
|
||||||
let
|
home-manager.useGlobalPkgs = true;
|
||||||
inherit (self) outputs;
|
home-manager.useUserPackages = true;
|
||||||
lib = nixpkgs-stable.lib;
|
|
||||||
|
|
||||||
overlays = import ./overlays { inherit inputs; };
|
home-manager.users.eesim = import ./home.nix;
|
||||||
utils = import ./utils;
|
}
|
||||||
|
];
|
||||||
configs = [
|
};
|
||||||
{
|
|
||||||
hostname = "ankaa";
|
|
||||||
system = "x86_64-linux";
|
|
||||||
nixpkgs = nixpkgs-unstable;
|
|
||||||
home-manager = home-manager-unstable;
|
|
||||||
|
|
||||||
options = {
|
|
||||||
openssh = {
|
|
||||||
enable = true;
|
|
||||||
port = 2222;
|
|
||||||
};
|
|
||||||
|
|
||||||
backup = {
|
|
||||||
enable = true;
|
|
||||||
user = "eesim";
|
|
||||||
paths = [ "/home/eesim" ];
|
|
||||||
repo = "rf030789@rf030789.repo.borgbase.com:repo";
|
|
||||||
excludes = [
|
|
||||||
"/home/eesim/.local/share/Steam/steamapps/common"
|
|
||||||
"/home/eesim/.cache"
|
|
||||||
"/home/eesim/llama/models"
|
|
||||||
"/home/eesim/.local/share/Trash"
|
|
||||||
"/home/eesim/Games"
|
|
||||||
"/home/eesim/nixpkgs"
|
|
||||||
];
|
|
||||||
passphrase = "/home/eesim/.ssh/borgbase_passphrase";
|
|
||||||
key = "/home/eesim/.ssh/id_ed25519_borgbase";
|
|
||||||
repeat = "daily";
|
|
||||||
};
|
|
||||||
|
|
||||||
audio = {
|
|
||||||
pipewire.enable = true;
|
|
||||||
music.enable = true;
|
|
||||||
tools = {
|
|
||||||
helvum = true;
|
|
||||||
easyeffects = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
term = {
|
|
||||||
terminal = "kitty";
|
|
||||||
font = "codelia";
|
|
||||||
};
|
|
||||||
|
|
||||||
gui = {
|
|
||||||
enable = true;
|
|
||||||
protonmail = true;
|
|
||||||
secrets = true;
|
|
||||||
gtk = false;
|
|
||||||
|
|
||||||
sway = {
|
|
||||||
enable = true;
|
|
||||||
desktop = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
monitors = lib.mkMerge [
|
|
||||||
(utils.mkMonitor {
|
|
||||||
monitor = "DP-2";
|
|
||||||
resolution = "3440x1440";
|
|
||||||
refreshRate = 144;
|
|
||||||
wallpaper = "solar_system.png";
|
|
||||||
})
|
|
||||||
(utils.mkMonitor {
|
|
||||||
monitor = "HDMI-A-1";
|
|
||||||
resolution = "1920x1080";
|
|
||||||
x = 3440;
|
|
||||||
refreshRate = 75;
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
school = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
games = {
|
|
||||||
enable = true;
|
|
||||||
lutris.enable = true;
|
|
||||||
minecraft.enable = true;
|
|
||||||
vintagestory.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
common.nil.enable = true;
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
wireguard.enable = true;
|
|
||||||
firewall.allowedTCPPorts = [ 8080 ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
hostname = "alpheratz";
|
|
||||||
system = "x86_64-linux";
|
|
||||||
nixpkgs = nixpkgs-unstable;
|
|
||||||
home-manager = home-manager-unstable;
|
|
||||||
|
|
||||||
options = {
|
|
||||||
laptop = {
|
|
||||||
enable = true;
|
|
||||||
backlight.enable = true;
|
|
||||||
powersave.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
audio = {
|
|
||||||
pipewire.enable = true;
|
|
||||||
music.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
gui = {
|
|
||||||
enable = true;
|
|
||||||
protonmail = true;
|
|
||||||
|
|
||||||
sway = {
|
|
||||||
enable = true;
|
|
||||||
desktop = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
monitors = utils.mkMonitor {
|
|
||||||
monitor = "eDP-1";
|
|
||||||
resolution = "1920x1200";
|
|
||||||
refreshRate = 60;
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
school = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
games = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
backup = {
|
|
||||||
enable = true;
|
|
||||||
user = "eesim";
|
|
||||||
paths = [ "/home/eesim" ];
|
|
||||||
repo = "t643s856@t643s856.repo.borgbase.com:repo";
|
|
||||||
excludes = [
|
|
||||||
"/home/eesim/.cache/"
|
|
||||||
];
|
|
||||||
passphrase = "/run/secrets/borgbase/nix-alpheratz";
|
|
||||||
key = "/home/eesim/.ssh/id_ed25519_borg";
|
|
||||||
compression = "zstd";
|
|
||||||
repeat = "daily";
|
|
||||||
};
|
|
||||||
|
|
||||||
common.nil.enable = true;
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
wireguard.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
term.terminal = "kitty";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
{
|
|
||||||
hostname = "diphda";
|
|
||||||
system = "x86_64-linux";
|
|
||||||
nixpkgs = nixpkgs-stable;
|
|
||||||
home-manager = home-manager-stable;
|
|
||||||
|
|
||||||
options = {
|
|
||||||
openssh.enable = true;
|
|
||||||
|
|
||||||
backup = {
|
|
||||||
enable = true;
|
|
||||||
user = "eesim";
|
|
||||||
paths = [ "/home/eesim" ];
|
|
||||||
repo = "ssh://p9h977h3@p9h977h3.repo.borgbase.com/./repo";
|
|
||||||
excludes = [
|
|
||||||
"/home/eesim/.cache"
|
|
||||||
];
|
|
||||||
passphrase = "/run/secrets/backup/repo_password";
|
|
||||||
key = "/home/eesim/.ssh/id_ed25519_borgbase";
|
|
||||||
repeat = "daily";
|
|
||||||
};
|
|
||||||
|
|
||||||
networking = {
|
|
||||||
firewall = {
|
|
||||||
allowedTCPPorts = [ 80 443 3000 3843 4533 5030 6600 6722 7474 7878 8000 8080 8081 8083 8089 8096 8120 8181 8443 8787 8889 8902 8989 8998 9000 9091 9696 11112 13378 24454 25565 25600 42420 50300 ];
|
|
||||||
allowedUDPPorts = [ 2456 2457 2458 3478 10001 42420 ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
in {
|
|
||||||
nixosConfigurations = builtins.listToAttrs (map (config:
|
|
||||||
let
|
|
||||||
inherit (config) nixpkgs home-manager system hostname;
|
|
||||||
|
|
||||||
pkgs = import nixpkgs {
|
|
||||||
inherit system;
|
|
||||||
overlays = with overlays; [ printrun shadps4 nix-matlab.overlay ];
|
|
||||||
config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
permittedInsecurePackages = [
|
|
||||||
"electron-31.7.7"
|
|
||||||
# TODO: Remove when fixed https://github.com/NixOS/nixpkgs/issues/433004
|
|
||||||
"libsoup-2.74.3"
|
|
||||||
"libxml2-2.13.8"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# TODO: Remove when Citrix is fixed
|
|
||||||
pkgs_stable_tmp = import nixpkgs-stable {
|
|
||||||
inherit system;
|
|
||||||
config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
localPackages = pkgs.lib.genAttrs flake-utils.lib.defaultSystems (system: {
|
|
||||||
kickoff-dot-desktop = pkgs.callPackage ./pkgs/kickoff-dot-desktop.nix {};
|
|
||||||
jhelioviewer = pkgs.callPackage ./pkgs/jhelioviewer.nix {};
|
|
||||||
llama-cpp = llama-cpp.packages.${system}.rocm;
|
|
||||||
shadps4 = pkgs.callPackage ./pkgs/shadps4.nix {};
|
|
||||||
gazou = pkgs.callPackage ./pkgs/gazou.nix {};
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
systemConfig = if builtins.pathExists (./. + "/hosts/${hostname}/system.nix") then
|
|
||||||
(./. + "/hosts/${hostname}/system.nix")
|
|
||||||
else
|
|
||||||
./hosts/default/system.nix;
|
|
||||||
|
|
||||||
homeConfig = if builtins.pathExists (./. + "/hosts/${hostname}/home.nix") then
|
|
||||||
(./. + "/hosts/${hostname}/home.nix")
|
|
||||||
else
|
|
||||||
./hosts/default/home.nix;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
name = config.hostname;
|
|
||||||
value = nixpkgs.lib.nixosSystem {
|
|
||||||
specialArgs = {
|
|
||||||
inherit localPackages;
|
|
||||||
inherit pkgs;
|
|
||||||
inherit pkgs_stable_tmp;
|
|
||||||
};
|
|
||||||
modules = [
|
|
||||||
{
|
|
||||||
networking.hostName = hostname;
|
|
||||||
simmer = config.options;
|
|
||||||
nix.settings.trusted-users = [ "eesim" ];
|
|
||||||
}
|
|
||||||
systemConfig
|
|
||||||
(./. + "/hosts/${hostname}/hardware-configuration.nix")
|
|
||||||
sops-nix.nixosModules.sops
|
|
||||||
(import ./modules/nix)
|
|
||||||
(import ./modules/options)
|
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
{
|
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.useUserPackages = true;
|
|
||||||
home-manager.extraSpecialArgs = {
|
|
||||||
inherit utils;
|
|
||||||
inherit localPackages;
|
|
||||||
systemConfig = config.options;
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.users.eesim = import homeConfig;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
})
|
|
||||||
configs
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
packages = nixpkgs.lib.genAttrs [ "x86_64-linux" ] (system:
|
||||||
|
let
|
||||||
|
pkgs = import nixpkgs { inherit system; config.allowUnfree = true; };
|
||||||
|
in
|
||||||
|
{
|
||||||
|
pkgs = pkgs // removeAttrs self.packages.${system} [ "pkgs" ];
|
||||||
|
|
||||||
|
kickoff-dot-desktop = pkgs.callPackage ./pkgs/kickoff-dot-desktop.nix { };
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,43 +5,32 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "uhci_hcd" "ehci_pci" "ahci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
|
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [ ];
|
||||||
boot.kernelModules = [ ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
{ device = "/dev/disk/by-uuid/a60ac6e2-b56e-49f8-bfcc-64b099dc6569";
|
{ device = "/dev/disk/by-uuid/ad45b094-608d-4850-b5ba-0f3917947629";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=root" ];
|
options = [ "subvol=root" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/home" =
|
fileSystems."/home" =
|
||||||
{ device = "/dev/disk/by-uuid/a60ac6e2-b56e-49f8-bfcc-64b099dc6569";
|
{ device = "/dev/disk/by-uuid/ad45b094-608d-4850-b5ba-0f3917947629";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=home" ];
|
options = [ "subvol=home" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/nix" =
|
fileSystems."/nix" =
|
||||||
{ device = "/dev/disk/by-uuid/a60ac6e2-b56e-49f8-bfcc-64b099dc6569";
|
{ device = "/dev/disk/by-uuid/ad45b094-608d-4850-b5ba-0f3917947629";
|
||||||
fsType = "btrfs";
|
fsType = "btrfs";
|
||||||
options = [ "subvol=nix" ];
|
options = [ "subvol=nix" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/2E79-9765";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/media" =
|
|
||||||
{ device = "10.137.177.10:/volume1/Media";
|
|
||||||
fsType = "nfs";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
# 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
|
||||||
@@ -49,7 +38,8 @@
|
|||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
networking.useDHCP = lib.mkDefault true;
|
networking.useDHCP = lib.mkDefault true;
|
||||||
# networking.interfaces.enp6s18.useDHCP = lib.mkDefault true;
|
# networking.interfaces.wlp0s20f3.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
|
||||||
|
imports = [];
|
||||||
|
|
||||||
|
home = {
|
||||||
|
username = "eesim";
|
||||||
|
homeDirectory = "/home/eesim";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.file.".config/sway/config".source = ./dotfiles/sway/config;
|
||||||
|
home.file.".config/nvim".source = ./dotfiles/nvim;
|
||||||
|
home.file.".config/waybar".source = ./dotfiles/waybar;
|
||||||
|
home.file.".config/fish/config.fish".source = ./dotfiles/fish/config.fish;
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Ethan Simmons";
|
||||||
|
userEmail = "eesimmons9105@gmail.com";
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
cursorTheme = {
|
||||||
|
name = "phinger-cursors-dark";
|
||||||
|
package = pkgs.phinger-cursors;
|
||||||
|
};
|
||||||
|
theme = {
|
||||||
|
name = "adw-gtk3-dark";
|
||||||
|
package = pkgs.adw-gtk3;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
qt = {
|
||||||
|
style = {
|
||||||
|
name = "adwaita-dark";
|
||||||
|
package = pkgs.adwaita-qt;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
home.stateVersion = "23.11";
|
||||||
|
}
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
if status is-interactive
|
|
||||||
fish_add_path "/home/eesim/.cargo/bin/"
|
|
||||||
|
|
||||||
set fish_greeting
|
|
||||||
|
|
||||||
set fish_cursor_default block
|
|
||||||
set fish_cursor_insert line
|
|
||||||
set fish_cursor_replace_one underscore
|
|
||||||
set fish_cursor_replace underscore
|
|
||||||
set fish_cursor_external line
|
|
||||||
set fish_cursor_visual block
|
|
||||||
|
|
||||||
function fish_mode_prompt
|
|
||||||
end
|
|
||||||
|
|
||||||
### Local environment variables
|
|
||||||
set -x DENO_INSTALL "/home/eesim/.deno"
|
|
||||||
|
|
||||||
direnv hook fish | source
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
if status is-login
|
|
||||||
|
|
||||||
# SSH settings
|
|
||||||
eval (ssh-agent -c)
|
|
||||||
ssh-add /home/eesim/.ssh/id_ed25519
|
|
||||||
|
|
||||||
# Set environment variables in /etc/profile.d/
|
|
||||||
# exec bash -c "test -e /etc/profile && source /etc/profile"
|
|
||||||
|
|
||||||
# Disable GTK portal
|
|
||||||
set -x GTK_USE_PORTAL "0"
|
|
||||||
|
|
||||||
|
|
||||||
# Java fix
|
|
||||||
set -x _JAVA_AWT_WM_NONREPARENTING "1"
|
|
||||||
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
if test (tty) = "/dev/tty1"
|
|
||||||
sway
|
|
||||||
end
|
|
||||||
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/d724cc9a-df7c-4771-8531-3544056b9aa1";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=root" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/home" =
|
|
||||||
{ device = "/dev/disk/by-uuid/d724cc9a-df7c-4771-8531-3544056b9aa1";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=home" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/nix" =
|
|
||||||
{ device = "/dev/disk/by-uuid/d724cc9a-df7c-4771-8531-3544056b9aa1";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=nix" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/D7C8-96A5";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [ "fmask=0077" "dmask=0077" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
|
||||||
[ { device = "/dev/disk/by-uuid/7dc7727f-ebdc-4bd4-8526-193822b78aab"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
systemConfig,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
../../modules/home
|
|
||||||
../../modules/options
|
|
||||||
];
|
|
||||||
|
|
||||||
simmer = systemConfig;
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = "eesim";
|
|
||||||
homeDirectory = "/home/eesim";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.".config/nvim".source = ../shared/dotfiles/nvim;
|
|
||||||
home.file.".tmux.conf".source = ../shared/dotfiles/tmux;
|
|
||||||
home.file.".config/fish/config.fish".source = ../shared/dotfiles/fish/gui-config.fish;
|
|
||||||
home.file.".config/waybar".source = ./dotfiles/waybar;
|
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
|
|
||||||
home.stateVersion = "23.11";
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIGSjCCBDKgAwIBAgIRAINbdhUgbS1uCX4LbkCf78AwDQYJKoZIhvcNAQEMBQAw
|
|
||||||
gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK
|
|
||||||
ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD
|
|
||||||
VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIy
|
|
||||||
MTExNjAwMDAwMFoXDTMyMTExNTIzNTk1OVowRDELMAkGA1UEBhMCVVMxEjAQBgNV
|
|
||||||
BAoTCUludGVybmV0MjEhMB8GA1UEAxMYSW5Db21tb24gUlNBIFNlcnZlciBDQSAy
|
|
||||||
MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAifBcxDi60DRXr5dVoPQi
|
|
||||||
Q/w+GBE62216UiEGMdbUt7eSiIaFj/iZ/xiFop0rWuH4BCFJ3kSvQF+aIhEsOnuX
|
|
||||||
R6mViSpUx53HM5ApIzFIVbd4GqY6tgwaPzu/XRI/4Dmz+hoLW/i/zD19iXvS95qf
|
|
||||||
NU8qP7/3/USf2/VNSUNmuMKlaRgwkouue0usidYK7V8W3ze+rTFvWR2JtWKNTInc
|
|
||||||
NyWD3GhVy/7G09PwTAu7h0qqRyTkETLf+z7FWtc8c12f+SfvmKHKFVqKpNPtgMkr
|
|
||||||
wqwaOgOOD4Q00AihVT+UzJ6MmhNPGg+/Xf0BavmXKCGDTv5uzQeOdD35o/Zw16V4
|
|
||||||
C4J4toj1WLY7hkVhrzKG+UWJiSn8Hv3dUTj4dkneJBNQrUfcIfTHV3gCtKwXn1eX
|
|
||||||
mrxhH+tWu9RVwsDegRG0s28OMdVeOwljZvYrUjRomutNO5GzynveVxJVCn3Cbn7a
|
|
||||||
c4L+5vwPNgs04DdOAGzNYdG5t6ryyYPosSLH2B8qDNzxAgMBAAGjggFwMIIBbDAf
|
|
||||||
BgNVHSMEGDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQU70wAkqb7
|
|
||||||
di5eleLJX4cbGdVN4tkwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8C
|
|
||||||
AQAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMCIGA1UdIAQbMBkwDQYL
|
|
||||||
KwYBBAGyMQECAmcwCAYGZ4EMAQICMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9j
|
|
||||||
cmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9y
|
|
||||||
aXR5LmNybDBxBggrBgEFBQcBAQRlMGMwOgYIKwYBBQUHMAKGLmh0dHA6Ly9jcnQu
|
|
||||||
dXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FBQUFDQS5jcnQwJQYIKwYBBQUHMAGG
|
|
||||||
GWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggIBACaA
|
|
||||||
DTTkHq4ivq8+puKE+ca3JbH32y+odcJqgqzDts5bgsapBswRYypjmXLel11Q2U6w
|
|
||||||
rySldlIjBRDZ8Ah8NOs85A6MKJQLaU9qHzRyG6w2UQTzRwx2seY30Mks3ZdIe9rj
|
|
||||||
s5rEYliIOh9Dwy8wUTJxXzmYf/A1Gkp4JJp0xIhCVR1gCSOX5JW6185kwid242bs
|
|
||||||
Lm0vCQBAA/rQgxvLpItZhC9US/r33lgtX/cYFzB4jGOd+Xs2sEAUlGyu8grLohYh
|
|
||||||
kgWN6hqyoFdOpmrl8yu7CSGV7gmVQf9viwVBDIKm+2zLDo/nhRkk8xA0Bb1BqPzy
|
|
||||||
bPESSVh4y5rZ5bzB4Lo2YN061HV9+HDnnIDBffNIicACdv4JGyGfpbS6xsi3UCN1
|
|
||||||
5ypaG43PJqQ0UnBQDuR60io1ApeSNkYhkaHQ9Tk/0C4A+EM3MW/KFuU53eHLVlX9
|
|
||||||
ss1iG2AJfVktaZ2l/SbY7py8JUYMkL/jqZBRjNkD6srsmpJ6utUMmAlt7m1+cTX8
|
|
||||||
6/VEBc5Dp9VfuD6hNbNKDSg7YxyEVaBqBEtN5dppj4xSiCrs6LxLHnNo3rG8VJRf
|
|
||||||
NVQdgFbMb7dOIBokklzfmU69lS0kgyz2mZMJmW2G/hhEdddJWHh3FcLi2MaeYiOV
|
|
||||||
RFrLHtJvXEdf2aEaZ0LOb2Xo3zO6BJvjXldv2woN
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@@ -1,149 +0,0 @@
|
|||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page, on
|
|
||||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
|
||||||
|
|
||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
localPackages,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
|
|
||||||
nixpkgs = {
|
|
||||||
overlays = [];
|
|
||||||
config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
settings = {
|
|
||||||
experimental-features = "nix-command flakes";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
sops = {
|
|
||||||
defaultSopsFile = ../../secrets/alpheratz/secrets.yaml;
|
|
||||||
age.keyFile = "/etc/sops.key";
|
|
||||||
|
|
||||||
secrets."wireguard/private" = {};
|
|
||||||
secrets."wireguard/preshared" = {};
|
|
||||||
secrets."borgbase/nix-alpheratz" = {
|
|
||||||
owner = "eesim";
|
|
||||||
};
|
|
||||||
|
|
||||||
secrets."Codelia-Regular.otf" = {
|
|
||||||
format = "binary";
|
|
||||||
sopsFile = ../../secrets/shared/Codelia-Regular;
|
|
||||||
owner = "eesim";
|
|
||||||
path = "/home/eesim/.local/share/fonts/Codelia Regular.otf";
|
|
||||||
};
|
|
||||||
|
|
||||||
secrets."Codelia-Bold.otf" = {
|
|
||||||
format = "binary";
|
|
||||||
sopsFile = ../../secrets/shared/Codelia-Bold;
|
|
||||||
owner = "eesim";
|
|
||||||
path = "/home/eesim/.local/share/fonts/Codelia Bold.otf";
|
|
||||||
};
|
|
||||||
|
|
||||||
secrets."Codelia-Italic.otf" = {
|
|
||||||
format = "binary";
|
|
||||||
sopsFile = ../../secrets/shared/Codelia-Italic;
|
|
||||||
owner = "eesim";
|
|
||||||
path = "/home/eesim/.local/share/fonts/Codelia Italic.otf";
|
|
||||||
};
|
|
||||||
|
|
||||||
secrets."Codelia-BoldItalic.otf" = {
|
|
||||||
format = "binary";
|
|
||||||
sopsFile = ../../secrets/shared/Codelia-BoldItalic;
|
|
||||||
owner = "eesim";
|
|
||||||
path = "/home/eesim/.local/share/fonts/Codelia BoldItalic.ttf";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
localPackages.x86_64-linux.jhelioviewer
|
|
||||||
matlab
|
|
||||||
discord
|
|
||||||
wine
|
|
||||||
matlab-language-server
|
|
||||||
zoom-us
|
|
||||||
calibre
|
|
||||||
];
|
|
||||||
|
|
||||||
services.printing.enable = false;
|
|
||||||
services.avahi = {
|
|
||||||
enable = true;
|
|
||||||
nssmdns4 = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
services.flatpak.enable = true;
|
|
||||||
|
|
||||||
programs.ssh.forwardX11 = true;
|
|
||||||
programs.ssh.setXAuthLocation = true;
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
|
||||||
hardware.bluetooth.powerOnBoot = true;
|
|
||||||
|
|
||||||
fileSystems = {
|
|
||||||
"/".options = [ "compress=zstd" ];
|
|
||||||
"/home".options = [ "compress=zstd" ];
|
|
||||||
"/nix".options = [ "compress=zstd" "noatime" ];
|
|
||||||
"/mnt/drive0" = {
|
|
||||||
device = "/dev/sr0";
|
|
||||||
fsType = "auto";
|
|
||||||
mountPoint = "/mnt/drive0";
|
|
||||||
options = [ "ro" "user" "noauto" "unhide" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networking.wg-quick.interfaces = {
|
|
||||||
wg0 = {
|
|
||||||
address = [ "10.137.175.3/32" ];
|
|
||||||
listenPort = 51820;
|
|
||||||
privateKeyFile = "/run/secrets/wireguard/private";
|
|
||||||
dns = [ "10.137.175.1" ];
|
|
||||||
autostart = true;
|
|
||||||
|
|
||||||
peers = [
|
|
||||||
{
|
|
||||||
publicKey = "sWdXHlBqH+tAgSl0Tqr46sfKvgFN/vMDiuN08HjzaSg=";
|
|
||||||
allowedIPs = [ "0.0.0.0/0" "::/0" ];
|
|
||||||
endpoint = "mc.simmer505.com:51820";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "America/Chicago";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
|
|
||||||
# Define a user account.
|
|
||||||
users.users.eesim = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ "wheel" "video" "audio" "networkmanager" "cdrom" ];
|
|
||||||
shell = pkgs.fish;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
# services.printing.enable = true;
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
|
||||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
|
||||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
|
||||||
|
|
||||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
|
||||||
# and migrated your data accordingly.
|
|
||||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
|
||||||
system.stateVersion = "23.11"; # Did you read the comment?
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
[font]
|
|
||||||
size = 12
|
|
||||||
|
|
||||||
[font.italic]
|
|
||||||
family = "Codelia Nerd Font"
|
|
||||||
style = "Italic"
|
|
||||||
|
|
||||||
[font.normal]
|
|
||||||
family = "Codelia Nerd Font"
|
|
||||||
style = "Regular"
|
|
||||||
|
|
||||||
#[shell]
|
|
||||||
#program = "/usr/bin/fish"
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
if status is-interactive
|
|
||||||
fish_add_path "/home/eesim/.cargo/bin/"
|
|
||||||
|
|
||||||
set fish_greeting
|
|
||||||
|
|
||||||
set fish_cursor_default block
|
|
||||||
set fish_cursor_insert line
|
|
||||||
set fish_cursor_replace_one underscore
|
|
||||||
set fish_cursor_replace underscore
|
|
||||||
set fish_cursor_external line
|
|
||||||
set fish_cursor_visual block
|
|
||||||
|
|
||||||
function fish_mode_prompt
|
|
||||||
end
|
|
||||||
|
|
||||||
direnv hook fish | source
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
if status is-login
|
|
||||||
|
|
||||||
# Disable GTK portal
|
|
||||||
set -x GTK_USE_PORTAL "0"
|
|
||||||
|
|
||||||
# Java fix
|
|
||||||
set -x _JAVA_AWT_WM_NONREPARENTING "1"
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
if test (tty) = "/dev/tty1"
|
|
||||||
sway
|
|
||||||
end
|
|
||||||
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
core.sshCommand = "ssh -i ~/.ssh/id_ed25519"
|
|
||||||
|
|
||||||
user.email = "eesimmons9105@gmail.com"
|
|
||||||
user.name = "Ethan Simmons"
|
|
||||||
@@ -1,247 +0,0 @@
|
|||||||
# Lemurs configuration file.
|
|
||||||
# Contains all the customization options of lemurs.
|
|
||||||
#
|
|
||||||
# Note: that as of now you need to have all options in the selected
|
|
||||||
# configuration file. Otherwise Lemurs will not work.
|
|
||||||
#
|
|
||||||
# Colors:
|
|
||||||
# ---------
|
|
||||||
# There is a list of predefined colors. These include:
|
|
||||||
# - black
|
|
||||||
# - white
|
|
||||||
# - (dark) gray
|
|
||||||
# - (light) red
|
|
||||||
# - (light) blue
|
|
||||||
# - (light) green
|
|
||||||
# - (light) magenta
|
|
||||||
# - (light) cyan
|
|
||||||
# - (light) yellow
|
|
||||||
# - orange
|
|
||||||
#
|
|
||||||
# You can also utilize custom colors with hex color codes.
|
|
||||||
# "#87CEEB" will create a Sky Blue color.
|
|
||||||
#
|
|
||||||
# Note: If the color wasn't recognized, it will default to white.
|
|
||||||
# ---------
|
|
||||||
#
|
|
||||||
# Modifiers:
|
|
||||||
# ---------
|
|
||||||
# There is a number of modifiers you can use. These can be combined by
|
|
||||||
# delimiting them with a comma (e.g. "bold,italic"). The modifiers are:
|
|
||||||
# - bold
|
|
||||||
# - dim
|
|
||||||
# - italic
|
|
||||||
# - underlined
|
|
||||||
# - reverse
|
|
||||||
# - crossed out
|
|
||||||
# - hidden
|
|
||||||
# ---------
|
|
||||||
#
|
|
||||||
|
|
||||||
# The tty which contains lemurs. This has to be mirrored in the lemurs.service
|
|
||||||
tty = 2
|
|
||||||
|
|
||||||
# The PAM service that should be used to login
|
|
||||||
pam_service = "lemurs"
|
|
||||||
|
|
||||||
# Focus behaviour of fields when Lemurs is initially started
|
|
||||||
#
|
|
||||||
# Possible values:
|
|
||||||
# - default: Initially focus on first non-cached value
|
|
||||||
# - no-focus: No initial focus
|
|
||||||
# - environment: Initially focus on the environment selector
|
|
||||||
# - username: Initially focus on the username field
|
|
||||||
# - password: Initially focus on the password field
|
|
||||||
focus_behaviour = "default"
|
|
||||||
|
|
||||||
[power_controls]
|
|
||||||
# Allow for the shutdown option to be used
|
|
||||||
allow_shutdown = true
|
|
||||||
# The text in the top-left to display how to shutdown. The text '%key%' will be
|
|
||||||
# replaced with the shutdown_key.
|
|
||||||
shutdown_hint = "Shutdown %key%"
|
|
||||||
|
|
||||||
# The color and modifiers of the hint in the top-left corner
|
|
||||||
shutdown_hint_color = "dark gray"
|
|
||||||
shutdown_hint_modifiers = ""
|
|
||||||
|
|
||||||
# The key used to shutdown. Possibilities are F1 to F12.
|
|
||||||
shutdown_key = "F1"
|
|
||||||
# The command that is executed when the key is pressed
|
|
||||||
shutdown_cmd = "systemctl poweroff -l"
|
|
||||||
|
|
||||||
# Allow for the reboot option to be used
|
|
||||||
allow_reboot = true
|
|
||||||
|
|
||||||
# The text in the top-left to display how to reboot. The text '%key%' will be
|
|
||||||
# replaced with the shutdown_key.
|
|
||||||
reboot_hint = "Reboot %key%"
|
|
||||||
|
|
||||||
# The color and modifiers of the hint in the top-left corner
|
|
||||||
reboot_hint_color = "dark gray"
|
|
||||||
reboot_hint_modifiers = ""
|
|
||||||
|
|
||||||
# The key used to reboot. Possibilities are F1 to F12.
|
|
||||||
reboot_key = "F2"
|
|
||||||
# The command that is executed when the key is pressed
|
|
||||||
reboot_cmd = "systemctl reboot -l"
|
|
||||||
|
|
||||||
# The margin between the shutdown and reboot hints
|
|
||||||
hint_margin = 2
|
|
||||||
|
|
||||||
# Setting for the selector of the desktop environment you are using.
|
|
||||||
[environment_switcher]
|
|
||||||
# Terms:
|
|
||||||
# ---------
|
|
||||||
# Movers: indicators which show which direction one can move whilst selecting
|
|
||||||
# the desktop environment
|
|
||||||
# Selected: The currently selected desktop environment.
|
|
||||||
# Neighbours: The adjacent desktop environment to the one current selected
|
|
||||||
#
|
|
||||||
# Visualisation:
|
|
||||||
#
|
|
||||||
# < i3 bspwm awesome >
|
|
||||||
#
|
|
||||||
# ^ ^ ^ ^ ^
|
|
||||||
# | | | | |
|
|
||||||
# mover | selected | mover
|
|
||||||
# | |
|
|
||||||
# neighbour neighbour
|
|
||||||
# ---------
|
|
||||||
#
|
|
||||||
|
|
||||||
# Show an option for the TTY shell when logging in as one of the environments.
|
|
||||||
# NOTE: it is always shown when no viable options are found.
|
|
||||||
include_tty_shell = false
|
|
||||||
|
|
||||||
# Remember the selected environment after logging in for the next time
|
|
||||||
remember = true
|
|
||||||
|
|
||||||
# Enables showing the movers
|
|
||||||
show_movers = true
|
|
||||||
|
|
||||||
# Mover's color and modifiers whilst the selector is unfocused
|
|
||||||
mover_color = "dark gray"
|
|
||||||
mover_modifiers = ""
|
|
||||||
|
|
||||||
# Mover's color and modifiers whilst the selector is focused
|
|
||||||
mover_color_focused = "orange"
|
|
||||||
mover_modifiers_focused = "bold"
|
|
||||||
|
|
||||||
# The characters used to display the movers. Suggestions are:
|
|
||||||
# - "<" ">"
|
|
||||||
# - "<-" "->"
|
|
||||||
# - "<<" ">>"
|
|
||||||
# - "[" "]"
|
|
||||||
left_mover = "<"
|
|
||||||
right_mover = ">"
|
|
||||||
|
|
||||||
# The margin between the movers and the neighbours or selected (depending on
|
|
||||||
# `show_neighbours`)
|
|
||||||
mover_margin = 1
|
|
||||||
|
|
||||||
# Enables showing the neighbours
|
|
||||||
show_neighbours = true
|
|
||||||
|
|
||||||
# Neighbours' color and modifiers whilst the selector is unfocused
|
|
||||||
neighbour_color = "dark gray"
|
|
||||||
neighbour_modifiers = ""
|
|
||||||
|
|
||||||
# Neighbours' color and modifiers whilst the selector is focused
|
|
||||||
neighbour_color_focused = "gray"
|
|
||||||
neighbour_modifiers_focused = ""
|
|
||||||
|
|
||||||
# Margin between neighbours and selected
|
|
||||||
neighbour_margin = 1
|
|
||||||
|
|
||||||
# Selected's color and modifiers whilst the selector is unfocused
|
|
||||||
selected_color = "gray"
|
|
||||||
selected_modifiers = "underlined"
|
|
||||||
|
|
||||||
# Selected's color and modifiers whilst the selector is focused
|
|
||||||
selected_color_focused = "white"
|
|
||||||
selected_modifiers_focused = "bold"
|
|
||||||
|
|
||||||
# The length of the name of the desktop environment which is displayed.
|
|
||||||
max_display_length = 8
|
|
||||||
|
|
||||||
# The text used when no desktop environments are available
|
|
||||||
no_envs_text = "No environments..."
|
|
||||||
|
|
||||||
# The color and modifiers of the 'no desktop environments available text'
|
|
||||||
# whilst the selector is unfocused
|
|
||||||
no_envs_color = "white"
|
|
||||||
no_envs_modifiers = ""
|
|
||||||
|
|
||||||
# The color and modifiers of the 'no desktop environments available text'
|
|
||||||
# whilst the selector is focused
|
|
||||||
no_envs_color_focused = "red"
|
|
||||||
no_envs_modifiers_focused = ""
|
|
||||||
|
|
||||||
[username_field]
|
|
||||||
|
|
||||||
# Remember the username for the next time after a successful login attempt.
|
|
||||||
remember = true
|
|
||||||
|
|
||||||
[username_field.style]
|
|
||||||
# Enables showing a title
|
|
||||||
show_title = true
|
|
||||||
# The text used within the title
|
|
||||||
title = "Login"
|
|
||||||
|
|
||||||
# The title's color and modifiers whilst the username field is unfocused
|
|
||||||
title_color = "white"
|
|
||||||
content_color = "white"
|
|
||||||
|
|
||||||
# The title's color and modifiers whilst the username field is focused
|
|
||||||
title_color_focused = "orange"
|
|
||||||
content_color_focused = "orange"
|
|
||||||
|
|
||||||
# Enables showing the borders
|
|
||||||
show_border = true
|
|
||||||
# The borders' color and modifiers whilst the username field is unfocused
|
|
||||||
border_color = "white"
|
|
||||||
# The borders' color and modifiers whilst the username field is focused
|
|
||||||
border_color_focused = "orange"
|
|
||||||
|
|
||||||
# Constrain the width of the username field
|
|
||||||
use_max_width = true
|
|
||||||
# The contraint of the username field's width
|
|
||||||
max_width = 48
|
|
||||||
|
|
||||||
[password_field]
|
|
||||||
|
|
||||||
# The character used for replacement when typing a password. Leave empty for no
|
|
||||||
# feedback.
|
|
||||||
# Note: Only one character is accepted.
|
|
||||||
content_replacement_character = "*"
|
|
||||||
|
|
||||||
[password_field.style]
|
|
||||||
# Enables showing a title
|
|
||||||
show_title = true
|
|
||||||
# The text used within the title
|
|
||||||
title = "Password"
|
|
||||||
|
|
||||||
# The title's color and modifiers whilst the password field is unfocused
|
|
||||||
title_color = "white"
|
|
||||||
content_color = "white"
|
|
||||||
|
|
||||||
# The title's color and modifiers whilst the password field is focused
|
|
||||||
title_color_focused = "orange"
|
|
||||||
content_color_focused = "orange"
|
|
||||||
|
|
||||||
# Enables showing the borders
|
|
||||||
show_border = true
|
|
||||||
# The borders' color and modifiers whilst the username field is unfocused
|
|
||||||
border_color = "white"
|
|
||||||
# The borders' color and modifiers whilst the username field is focused
|
|
||||||
border_color_focused = "orange"
|
|
||||||
|
|
||||||
# Constrain the width of the password field
|
|
||||||
use_max_width = true
|
|
||||||
# The contraint of the password field's width
|
|
||||||
max_width = 48
|
|
||||||
|
|
||||||
[wayland]
|
|
||||||
|
|
||||||
scripts_path = "/etc/lemurs/wayland"
|
|
||||||
@@ -1,77 +0,0 @@
|
|||||||
configuration {
|
|
||||||
display-drun: "Applications:";
|
|
||||||
display-window: "Windows:";
|
|
||||||
drun-display-format: "{name}";
|
|
||||||
font: "JetBrainsMono Nerd Font Medium 10";
|
|
||||||
modi: "run,drun";
|
|
||||||
}
|
|
||||||
|
|
||||||
@theme "/dev/null"
|
|
||||||
|
|
||||||
* {
|
|
||||||
bg: #2f343f;
|
|
||||||
bg-alt: #444b6a;
|
|
||||||
|
|
||||||
fg: #f3f4f5;
|
|
||||||
fg-alt: #787c99;
|
|
||||||
|
|
||||||
background-color: @bg;
|
|
||||||
|
|
||||||
border: 0;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
spacing: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
window {
|
|
||||||
width: 30%;
|
|
||||||
}
|
|
||||||
|
|
||||||
element {
|
|
||||||
padding: 8 0;
|
|
||||||
text-color: @fg-alt;
|
|
||||||
}
|
|
||||||
|
|
||||||
element selected {
|
|
||||||
text-color: @fg;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-text {
|
|
||||||
background-color: inherit;
|
|
||||||
text-color: inherit;
|
|
||||||
vertical-align: 0.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
element-icon {
|
|
||||||
size: 30;
|
|
||||||
}
|
|
||||||
|
|
||||||
entry {
|
|
||||||
background-color: @bg-alt;
|
|
||||||
padding: 12;
|
|
||||||
text-color: @fg;
|
|
||||||
}
|
|
||||||
|
|
||||||
inputbar {
|
|
||||||
children: [prompt, entry];
|
|
||||||
}
|
|
||||||
|
|
||||||
listview {
|
|
||||||
padding: 8 12;
|
|
||||||
background-color: @bg;
|
|
||||||
columns: 1;
|
|
||||||
lines: 8;
|
|
||||||
}
|
|
||||||
|
|
||||||
mainbox {
|
|
||||||
background-color: @bg;
|
|
||||||
children: [inputbar, listview];
|
|
||||||
}
|
|
||||||
|
|
||||||
prompt {
|
|
||||||
background-color: @bg-alt;
|
|
||||||
enabled: true;
|
|
||||||
padding: 12 0 0 12;
|
|
||||||
text-color: @fg;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
@nClientDownloadEnableHTTP2PlatformLinux 0
|
|
||||||
@@ -1,292 +0,0 @@
|
|||||||
# This file has been auto-generated by i3-config-wizard(1).
|
|
||||||
# It will not be overwritten, so edit it as you like.
|
|
||||||
#
|
|
||||||
# Should you change your keyboard layout some time, delete
|
|
||||||
# this file and re-run i3-config-wizard(1).
|
|
||||||
#
|
|
||||||
|
|
||||||
# i3 config file (v4)
|
|
||||||
#
|
|
||||||
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
|
||||||
|
|
||||||
set $mod Mod4
|
|
||||||
|
|
||||||
# Font for window titles. Will also be used by the bar unless a different font
|
|
||||||
# is used in the bar {} block below.
|
|
||||||
default_border pixel 5
|
|
||||||
default_floating_border pixel 5
|
|
||||||
|
|
||||||
# Use pactl to adjust volume in PulseAudio.
|
|
||||||
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%
|
|
||||||
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%
|
|
||||||
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
|
|
||||||
bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
|
|
||||||
|
|
||||||
# bindsym XF86AudioPlay exec python3 /home/eesim/Scripts/MuteMusic.py
|
|
||||||
bindsym XF86AudioPause exec playerctl play-pause
|
|
||||||
bindsym XF86AudioNext exec playerctl next
|
|
||||||
bindsym XF86AudioPrev exec playerctl previous
|
|
||||||
|
|
||||||
|
|
||||||
# Use Mouse+$mod to drag floating windows to their wanted position
|
|
||||||
floating_modifier $mod
|
|
||||||
|
|
||||||
# start a terminal
|
|
||||||
bindsym $mod+Return exec alacritty
|
|
||||||
bindsym $mod+Control+f exec MOZ_ENABLE_WAYLAND=1 firefox
|
|
||||||
bindsym $mod+Control+s exec steam
|
|
||||||
bindsym $mod+Control+t exec thunar
|
|
||||||
bindsym $mod+Control+d exec vesktop --enable-features=WebRTCPipeWireCapturer
|
|
||||||
bindsym $mod+Control+x exec strawberry
|
|
||||||
bindsym $mod+Control+q exec qbittorrent
|
|
||||||
bindsym $mod+Control+h exec helvum
|
|
||||||
bindsym $mod+Control+p exec pavucontrol
|
|
||||||
bindsym $mod+space exec kickoff-dot-desktop | kickoff --from-stdin --stdout | xargs -d '\n' swaymsg exec
|
|
||||||
|
|
||||||
# kill focused window
|
|
||||||
bindsym $mod+Shift+q kill
|
|
||||||
|
|
||||||
# take screenshot
|
|
||||||
bindsym $mod+Shift+s exec flameshot gui
|
|
||||||
|
|
||||||
# change focus
|
|
||||||
bindsym $mod+h focus left
|
|
||||||
bindsym $mod+j focus down
|
|
||||||
bindsym $mod+k focus up
|
|
||||||
bindsym $mod+l focus right
|
|
||||||
|
|
||||||
# alternatively, you can use the cursor keys:
|
|
||||||
bindsym $mod+Left focus left
|
|
||||||
bindsym $mod+Down focus down
|
|
||||||
bindsym $mod+Up focus up
|
|
||||||
bindsym $mod+Right focus right
|
|
||||||
|
|
||||||
# move focused window
|
|
||||||
bindsym $mod+Shift+h move left
|
|
||||||
bindsym $mod+Shift+j move down
|
|
||||||
bindsym $mod+Shift+k move up
|
|
||||||
bindsym $mod+Shift+l move right
|
|
||||||
|
|
||||||
# alternatively, you can use the cursor keys:
|
|
||||||
bindsym $mod+Shift+Left move left
|
|
||||||
bindsym $mod+Shift+Down move down
|
|
||||||
bindsym $mod+Shift+Up move up
|
|
||||||
bindsym $mod+Shift+Right move right
|
|
||||||
|
|
||||||
# split in horizontal orientation
|
|
||||||
bindsym $mod+b split h
|
|
||||||
|
|
||||||
# split in vertical orientation
|
|
||||||
bindsym $mod+v split v
|
|
||||||
|
|
||||||
# enter fullscreen mode for the focused container
|
|
||||||
bindsym $mod+f fullscreen toggle
|
|
||||||
|
|
||||||
# change container layout (stacked, tabbed, toggle split)
|
|
||||||
bindsym $mod+s layout stacking
|
|
||||||
bindsym $mod+w layout tabbed
|
|
||||||
bindsym $mod+e layout toggle split
|
|
||||||
|
|
||||||
# toggle tiling / floating
|
|
||||||
bindsym $mod+Shift+space floating toggle
|
|
||||||
|
|
||||||
# change focus between tiling / floating windows
|
|
||||||
#bindsym $mod+space focus mode_toggle
|
|
||||||
|
|
||||||
# focus the parent container
|
|
||||||
bindsym $mod+a focus parent
|
|
||||||
|
|
||||||
# focus the child container
|
|
||||||
#bindsym $mod+d focus child
|
|
||||||
|
|
||||||
# Define names for default workspaces for which we configure key bindings later on.
|
|
||||||
# We use variables to avoid repeating the names in multiple places.
|
|
||||||
set $ws1 "1"
|
|
||||||
set $ws2 "2"
|
|
||||||
set $ws3 "3"
|
|
||||||
set $ws4 "4"
|
|
||||||
set $ws5 "5"
|
|
||||||
set $ws6 "6"
|
|
||||||
set $ws7 "7"
|
|
||||||
set $ws8 "8"
|
|
||||||
set $ws9 "9"
|
|
||||||
set $ws10 "10"
|
|
||||||
|
|
||||||
set $MonitorA "DP-2"
|
|
||||||
set $MonitorB "HDMI-A-1"
|
|
||||||
|
|
||||||
# switch to workspace
|
|
||||||
bindsym $mod+1 workspace $ws1
|
|
||||||
bindsym $mod+2 workspace $ws2
|
|
||||||
bindsym $mod+3 workspace $ws3
|
|
||||||
bindsym $mod+4 workspace $ws4
|
|
||||||
bindsym $mod+5 workspace $ws5
|
|
||||||
bindsym $mod+6 workspace $ws6
|
|
||||||
bindsym $mod+7 workspace $ws7
|
|
||||||
bindsym $mod+8 workspace $ws8
|
|
||||||
bindsym $mod+9 workspace $ws9
|
|
||||||
bindsym $mod+0 workspace $ws10
|
|
||||||
|
|
||||||
# move focused container to workspace
|
|
||||||
bindsym $mod+Shift+1 move container to workspace $ws1
|
|
||||||
bindsym $mod+Shift+2 move container to workspace $ws2
|
|
||||||
bindsym $mod+Shift+3 move container to workspace $ws3
|
|
||||||
bindsym $mod+Shift+4 move container to workspace $ws4
|
|
||||||
bindsym $mod+Shift+5 move container to workspace $ws5
|
|
||||||
bindsym $mod+Shift+6 move container to workspace $ws6
|
|
||||||
bindsym $mod+Shift+7 move container to workspace $ws7
|
|
||||||
bindsym $mod+Shift+8 move container to workspace $ws8
|
|
||||||
bindsym $mod+Shift+9 move container to workspace $ws9
|
|
||||||
bindsym $mod+Shift+0 move container to workspace $ws10
|
|
||||||
|
|
||||||
workspace $ws1 output $MonitorA
|
|
||||||
workspace $ws2 output $MonitorA
|
|
||||||
workspace $ws3 output $MonitorA
|
|
||||||
workspace $ws4 output $MonitorB
|
|
||||||
workspace $ws5 output $MonitorB
|
|
||||||
workspace $ws6 output $MonitorB
|
|
||||||
workspace $ws7 output $MonitorB
|
|
||||||
workspace $ws8 output $MonitorB
|
|
||||||
workspace $ws9 output $MonitorB
|
|
||||||
workspace $ws10 output $MonitorB
|
|
||||||
|
|
||||||
set $opacity 0.9
|
|
||||||
for_window [app_id="de.shorsh.discord-screenaudio"] opacity $opacity
|
|
||||||
for_window [class="discord"] opacity $opacity
|
|
||||||
for_window [class="vesktop"] opacity &opacity
|
|
||||||
for_window [app_id="Alacritty"] opacity $opacity
|
|
||||||
|
|
||||||
for_window [class="gamescope"] fullscreen
|
|
||||||
for_window [app_id="gamescope"] fullscreen
|
|
||||||
for_window [app_id="mpv"] fullscreen
|
|
||||||
|
|
||||||
|
|
||||||
for_window [app_id="relm4.test.simple"] floating enable
|
|
||||||
|
|
||||||
|
|
||||||
# Workspace 1
|
|
||||||
|
|
||||||
# Workspace 2
|
|
||||||
assign [app_id="mpv"] $ws2
|
|
||||||
|
|
||||||
# Workspace 3
|
|
||||||
assign [class="steam"] $ws3
|
|
||||||
assign [class="gamescope"] $ws3
|
|
||||||
assign [app_id="gamescope"] $ws3
|
|
||||||
|
|
||||||
# Workspace 4
|
|
||||||
assign [app_id="firefox"] $ws4
|
|
||||||
|
|
||||||
# Workspace 5
|
|
||||||
assign [app_id="de.shorsh.discord-screenaudio"] $ws5
|
|
||||||
assign [class="discord"] $ws5
|
|
||||||
|
|
||||||
# Workspace 6
|
|
||||||
assign [app_id="com.obsproject.Studio"] $ws6
|
|
||||||
|
|
||||||
# Workspace 7
|
|
||||||
assign [app_id="org.strawberrymusicplayer.strawberry"] $ws7
|
|
||||||
|
|
||||||
# Workspace 8
|
|
||||||
assign [app_id="com.github.wwmm.easyeffects"] $ws8
|
|
||||||
assign [app_id="org.pipewire.Helvum"] $ws8
|
|
||||||
assign [app_id="pavucontrol"] $ws8
|
|
||||||
|
|
||||||
# Workspace 9
|
|
||||||
|
|
||||||
# Workspace 10
|
|
||||||
assign [app_id="python3"] $ws10
|
|
||||||
assign [class="steam_proton"] $ws10
|
|
||||||
|
|
||||||
|
|
||||||
# reload the configuration file
|
|
||||||
bindsym $mod+Shift+c reload
|
|
||||||
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
|
||||||
bindsym $mod+Shift+r restart
|
|
||||||
# exit i3 (logs you out of your X session)
|
|
||||||
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'
|
|
||||||
|
|
||||||
# resize window (you can also use the mouse for that)
|
|
||||||
mode "resize" {
|
|
||||||
# These bindings trigger as soon as you enter the resize mode
|
|
||||||
|
|
||||||
# Pressing left will shrink the window’s width.
|
|
||||||
# Pressing right will grow the window’s width.
|
|
||||||
# Pressing up will shrink the window’s height.
|
|
||||||
# Pressing down will grow the window’s height.
|
|
||||||
bindsym h resize shrink width 20 px
|
|
||||||
bindsym j resize grow height 20 px
|
|
||||||
bindsym k resize shrink height 20 px
|
|
||||||
bindsym l resize grow width 20 px
|
|
||||||
|
|
||||||
# same bindings, but for the arrow keys
|
|
||||||
bindsym Left resize shrink width 20 px
|
|
||||||
bindsym Down resize grow height 20 px
|
|
||||||
bindsym Up resize shrink height 20 px
|
|
||||||
bindsym Right resize grow width 20 px
|
|
||||||
|
|
||||||
# back to normal: Enter or Escape or $mod+r
|
|
||||||
bindsym Return mode "default"
|
|
||||||
bindsym Escape mode "default"
|
|
||||||
bindsym $mod+r mode "default"
|
|
||||||
}
|
|
||||||
|
|
||||||
bindsym $mod+r mode "resize"
|
|
||||||
|
|
||||||
# Start i3bar to display a workspace bar (plus the system information i3status
|
|
||||||
# finds out, if available)
|
|
||||||
|
|
||||||
set $bg-color #58536d
|
|
||||||
set $inactive-bg-color #2f343f
|
|
||||||
set $text-color #f3f4f5
|
|
||||||
set $inactive-text-color #676E7D
|
|
||||||
set $urgent-bg-color #E53935
|
|
||||||
|
|
||||||
# window colors
|
|
||||||
# border background text indicator
|
|
||||||
client.focused $bg-color $bg-color $text-color #4B5177
|
|
||||||
client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color #4B5177
|
|
||||||
client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color #4B5177
|
|
||||||
client.urgent $urgent-bg-color $urgent-bg-color $text-color #4B5177
|
|
||||||
|
|
||||||
default_border pixel 6
|
|
||||||
|
|
||||||
gaps inner 10
|
|
||||||
gaps outer -5
|
|
||||||
smart_gaps on
|
|
||||||
smart_gaps inverse_outer
|
|
||||||
|
|
||||||
bar {
|
|
||||||
swaybar_command waybar
|
|
||||||
}
|
|
||||||
|
|
||||||
input type:keyboard {
|
|
||||||
xkb_layout us,de
|
|
||||||
xkb_options caps:escape,grp:shifts_toggle
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Set Monitors
|
|
||||||
output DP-2 mode 3440x1440@144Hz pos 1920 0 scale 1
|
|
||||||
output HDMI-A-1 mode 1920x1080@75Hz pos 0 0
|
|
||||||
exec swaybg -o DP-2 -i /home/eesim/Pictures/wallpapers/wallpaper_scaled_distorted_lanczos_sharp.png
|
|
||||||
exec swaybg -o HDMI-A-1 -i /home/eesim/Pictures/wallpapers/169Wallpaper.png
|
|
||||||
|
|
||||||
exec systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
|
||||||
exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
|
||||||
|
|
||||||
exec --no-startup-id openrgb --startminimized
|
|
||||||
exec --no-startup-id ydotoold
|
|
||||||
exec --no-startup-id easyeffects --gapplication-service
|
|
||||||
exec --no-startup-id wayland-pipewire-idle-inhibit
|
|
||||||
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
|
|
||||||
exec --no-startup-id protonmail-bridge --noninteractive
|
|
||||||
exec --no-startup-id swayidle -w \
|
|
||||||
timeout 600 'swaymsg "output * dpms off"' \
|
|
||||||
resume 'swaymsg "output * dpms on"'
|
|
||||||
|
|
||||||
exec vorta
|
|
||||||
exec MOZ_ENABLE_WAYLAND=1 firefox
|
|
||||||
exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
|
||||||
|
|
||||||
exec sleep 20 && vesktop --enable-features=WebRTCPipeWireCapturer
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
unbind C-b
|
|
||||||
set-option -g prefix C-a
|
|
||||||
bind-key C-a send-prefix
|
|
||||||
|
|
||||||
unbind-key '"'
|
|
||||||
unbind-key %
|
|
||||||
bind-key | split-window -h -c "#{pane_current_path}"
|
|
||||||
bind-key - split-window -v -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
bind-key h select-pane -L
|
|
||||||
bind-key j select-pane -D
|
|
||||||
bind-key k select-pane -U
|
|
||||||
bind-key l select-pane -R
|
|
||||||
bind-key -r H resize-pane -L 5
|
|
||||||
bind-key -r J resize-pane -D 5
|
|
||||||
bind-key -r K resize-pane -U 5
|
|
||||||
bind-key -r L resize-pane -R 5
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,158 +0,0 @@
|
|||||||
[{
|
|
||||||
"layer": "top", // Waybar at top layer
|
|
||||||
"output": "DP-2",
|
|
||||||
"position": "top", // Waybar position (top|bottom|left|right)
|
|
||||||
"height": 30, // Waybar height (to be removed for auto height)
|
|
||||||
"spacing": 4, // Gaps between modules (4px)
|
|
||||||
// Choose the order of the modules
|
|
||||||
"modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad"],
|
|
||||||
"modules-center": ["sway/window"],
|
|
||||||
"modules-right": ["idle_inhibitor", "pulseaudio", "cpu", "memory", "clock"],
|
|
||||||
// Modules configuration
|
|
||||||
"sway/workspaces": {
|
|
||||||
"disable-scroll": true,
|
|
||||||
"all-outputs": false,
|
|
||||||
"format": "{name}: {icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"1": "",
|
|
||||||
"2": "",
|
|
||||||
"3": "",
|
|
||||||
"urgent": "",
|
|
||||||
"focused": "",
|
|
||||||
"default": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"sway/mode": {
|
|
||||||
"format": "<span style=\"italic\">{}</span>"
|
|
||||||
},
|
|
||||||
"sway/scratchpad": {
|
|
||||||
"format": "{icon} {count}",
|
|
||||||
"show-empty": false,
|
|
||||||
"format-icons": ["", ""],
|
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-format": "{app}: {title}"
|
|
||||||
},
|
|
||||||
"idle_inhibitor": {
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"activated": "",
|
|
||||||
"deactivated": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tray": {
|
|
||||||
// "icon-size": 21,
|
|
||||||
"spacing": 10
|
|
||||||
},
|
|
||||||
"clock": {
|
|
||||||
// "timezone": "America/New_York",
|
|
||||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
|
||||||
"format": "{:%I:%M %p}",
|
|
||||||
"format-alt": "{:%Y-%m-%d}"
|
|
||||||
},
|
|
||||||
"cpu": {
|
|
||||||
"format": "{usage}% ",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"memory": {
|
|
||||||
"format": "{}% "
|
|
||||||
},
|
|
||||||
"pulseaudio": {
|
|
||||||
// "scroll-step": 1, // %, can be a float
|
|
||||||
"format": "{volume}% {icon}",
|
|
||||||
"format-bluetooth": "{volume}% {icon} {format_source}",
|
|
||||||
"format-bluetooth-muted": " {icon} {format_source}",
|
|
||||||
"format-muted": " {format_source}",
|
|
||||||
"format-source": "{volume}% ",
|
|
||||||
"format-source-muted": "",
|
|
||||||
"format-icons": {
|
|
||||||
"headphone": "",
|
|
||||||
"hands-free": "",
|
|
||||||
"headset": "",
|
|
||||||
"phone": "",
|
|
||||||
"portable": "",
|
|
||||||
"car": "",
|
|
||||||
"default": ["", "", ""]
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}, {
|
|
||||||
"layer": "bottom", // Waybar at top layer
|
|
||||||
"output": "HDMI-A-1",
|
|
||||||
"position": "top", // Waybar position (top|bottom|left|right)
|
|
||||||
"height": 30, // Waybar height (to be removed for auto height)
|
|
||||||
"spacing": 4, // Gaps between modules (4px)
|
|
||||||
// Choose the order of the modules
|
|
||||||
"modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad"],
|
|
||||||
"modules-center": ["sway/window"],
|
|
||||||
"modules-right": ["idle_inhibitor", "pulseaudio", "cpu", "memory", "clock", "tray"],
|
|
||||||
// Modules configuration
|
|
||||||
"sway/workspaces": {
|
|
||||||
"disable-scroll": true,
|
|
||||||
"all-outputs": false,
|
|
||||||
"format": "{name}: {icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"4": "",
|
|
||||||
"5": "",
|
|
||||||
"6": "",
|
|
||||||
"7": "",
|
|
||||||
"8": "",
|
|
||||||
"9": "",
|
|
||||||
"10": "",
|
|
||||||
"urgent": "",
|
|
||||||
"focused": "",
|
|
||||||
"default": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"sway/mode": {
|
|
||||||
"format": "<span style=\"italic\">{}</span>"
|
|
||||||
},
|
|
||||||
"sway/scratchpad": {
|
|
||||||
"format": "{icon} {count}",
|
|
||||||
"show-empty": false,
|
|
||||||
"format-icons": ["", ""],
|
|
||||||
"tooltip": true,
|
|
||||||
"tooltip-format": "{app}: {title}"
|
|
||||||
},
|
|
||||||
"idle_inhibitor": {
|
|
||||||
"format": "{icon}",
|
|
||||||
"format-icons": {
|
|
||||||
"activated": "",
|
|
||||||
"deactivated": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tray": {
|
|
||||||
// "icon-size": 21,
|
|
||||||
"spacing": 10
|
|
||||||
},
|
|
||||||
"clock": {
|
|
||||||
// "timezone": "America/New_York",
|
|
||||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
|
||||||
"format": "{:%I:%M %p}",
|
|
||||||
"format-alt": "{:%Y-%m-%d}"
|
|
||||||
},
|
|
||||||
"cpu": {
|
|
||||||
"format": "{usage}% ",
|
|
||||||
"tooltip": false
|
|
||||||
},
|
|
||||||
"memory": {
|
|
||||||
"format": "{}% "
|
|
||||||
},
|
|
||||||
"pulseaudio": {
|
|
||||||
// "scroll-step": 1, // %, can be a float
|
|
||||||
"format": "{volume}% {icon}",
|
|
||||||
"format-bluetooth": "{volume}% {icon} {format_source}",
|
|
||||||
"format-bluetooth-muted": " {icon} {format_source}",
|
|
||||||
"format-muted": " {format_source}",
|
|
||||||
"format-source": "{volume}% ",
|
|
||||||
"format-source-muted": "",
|
|
||||||
"format-icons": {
|
|
||||||
"headphone": "",
|
|
||||||
"hands-free": "",
|
|
||||||
"headset": "",
|
|
||||||
"phone": "",
|
|
||||||
"portable": "",
|
|
||||||
"car": "",
|
|
||||||
"default": ["", "", ""]
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}]
|
|
||||||
|
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
* {
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
font-family: "Ubuntu Nerd Font";
|
|
||||||
font-size: 16px;
|
|
||||||
min-height: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
window#waybar {
|
|
||||||
background: rgba(0, 0, 0, 0.2);
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
|
|
||||||
#window {
|
|
||||||
font-weight: bold;
|
|
||||||
font-family: "Ubuntu";
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
#workspaces {
|
|
||||||
padding: 0 5px;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
#workspaces button {
|
|
||||||
padding: 0 5px;
|
|
||||||
background: transparent;
|
|
||||||
color: white;
|
|
||||||
border-top: 2px solid transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
#workspaces button.focused {
|
|
||||||
color: #c9545d;
|
|
||||||
border-top: 2px solid #c9545d;
|
|
||||||
}
|
|
||||||
|
|
||||||
#mode {
|
|
||||||
background: #64727D;
|
|
||||||
border-bottom: 3px solid white;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock, #battery, #cpu, #memory, #network, #pulseaudio, #custom-spotify, #tray, #mode, #idle_inhibitor {
|
|
||||||
padding: 0 8px;
|
|
||||||
margin: 0 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#clock {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery {
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery icon {
|
|
||||||
color: red;
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.charging {
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes blink {
|
|
||||||
to {
|
|
||||||
background-color: #ffffff;
|
|
||||||
color: black;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#battery.warning:not(.charging) {
|
|
||||||
color: white;
|
|
||||||
animation-name: blink;
|
|
||||||
animation-duration: 0.5s;
|
|
||||||
animation-timing-function: linear;
|
|
||||||
animation-iteration-count: infinite;
|
|
||||||
animation-direction: alternate;
|
|
||||||
}
|
|
||||||
|
|
||||||
#cpu {
|
|
||||||
}
|
|
||||||
|
|
||||||
#memory {
|
|
||||||
}
|
|
||||||
|
|
||||||
#network {
|
|
||||||
}
|
|
||||||
|
|
||||||
#network.disconnected {
|
|
||||||
background: #f53c3c;
|
|
||||||
}
|
|
||||||
|
|
||||||
#pulseaudio {
|
|
||||||
}
|
|
||||||
|
|
||||||
#pulseaudio.muted {
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-spotify {
|
|
||||||
color: rgb(102, 220, 105);
|
|
||||||
}
|
|
||||||
|
|
||||||
#tray {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-amd" "wl" ];
|
|
||||||
boot.extraModulePackages = [];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=root" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/nix" =
|
|
||||||
{ device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=nix" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/home" =
|
|
||||||
{ device = "/dev/disk/by-uuid/c9d87455-b02f-465d-8d63-1858dc2164fe";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=home" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/4129-EEE9";
|
|
||||||
fsType = "vfat";
|
|
||||||
options = [ "fmask=0022" "dmask=0022" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices = [ ];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.enp34s0.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.wlp38s0.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
systemConfig,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
../../modules/home
|
|
||||||
../../modules/options
|
|
||||||
];
|
|
||||||
|
|
||||||
simmer = systemConfig;
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = "eesim";
|
|
||||||
homeDirectory = "/home/eesim";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.".config/nvim".source = ../shared/dotfiles/nvim;
|
|
||||||
home.file.".config/fish/config.fish".source = ../shared/dotfiles/fish/gui-config.fish;
|
|
||||||
|
|
||||||
home.file.".config/waybar".source = ./dotfiles/waybar;
|
|
||||||
home.file.".config/alacritty/alacritty.toml".source = ./dotfiles/alacritty/alacritty.toml;
|
|
||||||
|
|
||||||
# Fix for slow steam download speeds https://old.reddit.com/r/linux_gaming/comments/16e1l4h/slow_steam_downloads_try_this/
|
|
||||||
home.file.".steam/steam/steam_dev.cfg".source = ./dotfiles/steam/steam_dev.cfg;
|
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
|
|
||||||
home.stateVersion = "23.11";
|
|
||||||
}
|
|
||||||
@@ -1,117 +0,0 @@
|
|||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page, on
|
|
||||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
|
||||||
|
|
||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
localPackages,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
settings = {
|
|
||||||
experimental-features = "nix-command flakes";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
sops = {
|
|
||||||
defaultSopsFile = ../../secrets/ankaa/secrets.yaml;
|
|
||||||
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
|
||||||
|
|
||||||
secrets."Codelia-Regular.otf" = {
|
|
||||||
format = "binary";
|
|
||||||
sopsFile = ../../secrets/shared/Codelia-Regular;
|
|
||||||
owner = "eesim";
|
|
||||||
path = "/home/eesim/.local/share/fonts/Codelia Regular.otf";
|
|
||||||
};
|
|
||||||
|
|
||||||
secrets."Codelia-Bold.otf" = {
|
|
||||||
format = "binary";
|
|
||||||
sopsFile = ../../secrets/shared/Codelia-Bold;
|
|
||||||
owner = "eesim";
|
|
||||||
path = "/home/eesim/.local/share/fonts/Codelia Bold.otf";
|
|
||||||
};
|
|
||||||
|
|
||||||
secrets."Codelia-Italic.otf" = {
|
|
||||||
format = "binary";
|
|
||||||
sopsFile = ../../secrets/shared/Codelia-Italic;
|
|
||||||
owner = "eesim";
|
|
||||||
path = "/home/eesim/.local/share/fonts/Codelia Italic.otf";
|
|
||||||
};
|
|
||||||
|
|
||||||
secrets."Codelia-BoldItalic.otf" = {
|
|
||||||
format = "binary";
|
|
||||||
sopsFile = ../../secrets/shared/Codelia-BoldItalic;
|
|
||||||
owner = "eesim";
|
|
||||||
path = "/home/eesim/.local/share/fonts/Codelia BoldItalic.ttf";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
localPackages.x86_64-linux.jhelioviewer
|
|
||||||
pciutils
|
|
||||||
bottles
|
|
||||||
inkscape
|
|
||||||
orca-slicer
|
|
||||||
qemu
|
|
||||||
protonvpn-gui
|
|
||||||
calibre
|
|
||||||
];
|
|
||||||
|
|
||||||
services.hardware.openrgb.enable = true;
|
|
||||||
services.avahi.enable = true;
|
|
||||||
services.flatpak.enable = true;
|
|
||||||
|
|
||||||
services.udev.extraRules = ''
|
|
||||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
|
||||||
'';
|
|
||||||
|
|
||||||
hardware.graphics.extraPackages = with pkgs; [
|
|
||||||
rocmPackages.clr.icd
|
|
||||||
];
|
|
||||||
|
|
||||||
systemd.tmpfiles.rules = [
|
|
||||||
"L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
fileSystems = {
|
|
||||||
"/".options = [ "compress=zstd" ];
|
|
||||||
"/home".options = [ "compress=zstd" ];
|
|
||||||
"/nix".options = [ "compress=zstd" "noatime" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation.docker = {
|
|
||||||
enable = true;
|
|
||||||
storageDriver = "btrfs";
|
|
||||||
};
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "America/Chicago";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
|
|
||||||
# Define a user account.
|
|
||||||
users.users.eesim = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ "wheel" "video" "audio" "networkmanager" "dialout" ];
|
|
||||||
packages = with pkgs; [];
|
|
||||||
shell = pkgs.fish;
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINfY1b8+mp6Y6k5taexTdBPTeZUcxT6RyP0jvc/74GyY eesim@Ethans-NAS"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable CUPS to print documents.
|
|
||||||
# services.printing.enable = true;
|
|
||||||
|
|
||||||
system.stateVersion = "23.11";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
systemConfig,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
{
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
../../modules/home
|
|
||||||
../../modules/options
|
|
||||||
];
|
|
||||||
|
|
||||||
simmer = systemConfig;
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = "eesim";
|
|
||||||
homeDirectory = "/home/eesim";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.file.".config/nvim".source = ../shared/dotfiles/nvim;
|
|
||||||
home.file.".tmux.conf".source = ../shared/dotfiles/tmux;
|
|
||||||
home.file.".config/fish/config.fish".source = ../shared/dotfiles/fish/cli-config.fish;
|
|
||||||
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
|
|
||||||
home.stateVersion = "23.11";
|
|
||||||
}
|
|
||||||
@@ -1,39 +0,0 @@
|
|||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page, on
|
|
||||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
|
||||||
|
|
||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
nix = {
|
|
||||||
settings = {
|
|
||||||
experimental-features = "nix-command flakes";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "America/Chicago";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
|
|
||||||
# Define a user account.
|
|
||||||
users.users.eesim = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ "wheel" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
|
||||||
# and migrated your data accordingly.
|
|
||||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
|
||||||
system.stateVersion = "23.11"; # Did you read the comment?
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
source_directories:
|
|
||||||
- /home/eesim/configs/mc-distant-horizons/
|
|
||||||
|
|
||||||
repositories:
|
|
||||||
- path: ssh://lxojwl95@lxojwl95.repo.borgbase.com/./repo
|
|
||||||
label: "Minecraft-DH borgbase"
|
|
||||||
|
|
||||||
exclude_if_present:
|
|
||||||
- .nobackup
|
|
||||||
|
|
||||||
compression: auto,zstd
|
|
||||||
archive_name_format: '{hostname}-{now:%Y-%m-%d-%H%M%S}'
|
|
||||||
encryption_passcommand: 'cat /run/secrets/mc-dh/repo_password'
|
|
||||||
|
|
||||||
keep_hourly: 24
|
|
||||||
keep_daily: 7
|
|
||||||
keep_weekly: 4
|
|
||||||
keep_monthly: 2
|
|
||||||
keep_yearly: 1
|
|
||||||
@@ -1,117 +0,0 @@
|
|||||||
# Edit this configuration file to define what should be installed on
|
|
||||||
# your system. Help is available in the configuration.nix(5) man page, on
|
|
||||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
|
||||||
|
|
||||||
{
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
localPackages,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
|
|
||||||
nix = {
|
|
||||||
settings = {
|
|
||||||
experimental-features = "nix-command flakes";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
sops = {
|
|
||||||
defaultSopsFile = ../../secrets/diphda/secrets.yaml;
|
|
||||||
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
|
||||||
|
|
||||||
secrets."backup/repo_password" = {
|
|
||||||
owner = "eesim";
|
|
||||||
};
|
|
||||||
|
|
||||||
secrets."mc-arcadia/repo_password" = {};
|
|
||||||
secrets."mc-dh/repo_password" = {};
|
|
||||||
|
|
||||||
secrets."tandoor/secret_key" = {
|
|
||||||
owner = "tandoor";
|
|
||||||
};
|
|
||||||
secrets."tandoor/db_password" = {
|
|
||||||
owner = "tandoor";
|
|
||||||
};
|
|
||||||
secrets."porkbun.keytab" = {
|
|
||||||
format = "binary";
|
|
||||||
sopsFile = ../../secrets/diphda/porkbun.keytab;
|
|
||||||
};
|
|
||||||
secrets."caddy/porkbun_api_key" = {};
|
|
||||||
secrets."caddy/porkbun_secret_key" = {};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.services."qbit-update-port" = {
|
|
||||||
enable = true;
|
|
||||||
path = [ pkgs.bash pkgs.docker pkgs.curl pkgs.netcat ];
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "oneshot";
|
|
||||||
User = "root";
|
|
||||||
Group = "root";
|
|
||||||
ExecStart = ''
|
|
||||||
/home/eesim/configs/qbittorrent/update-port.sh
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.timers."qbit-update-port" = {
|
|
||||||
wantedBy = [ "timers.target" ];
|
|
||||||
timerConfig = {
|
|
||||||
OnCalendar = "*:0/5";
|
|
||||||
Persistent = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
|
||||||
|
|
||||||
fileSystems = {
|
|
||||||
"/".options = [ "compress=zstd" ];
|
|
||||||
"/home".options = [ "compress=zstd" ];
|
|
||||||
"/nix".options = [ "compress=zstd" "noatime" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
virtualisation.docker = {
|
|
||||||
enable = true;
|
|
||||||
storageDriver = "btrfs";
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
docker-compose
|
|
||||||
beets
|
|
||||||
];
|
|
||||||
|
|
||||||
# Set your time zone.
|
|
||||||
time.timeZone = "America/Chicago";
|
|
||||||
|
|
||||||
# Select internationalisation properties.
|
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
|
||||||
|
|
||||||
# Define a user account.
|
|
||||||
users.users.eesim = {
|
|
||||||
isNormalUser = true;
|
|
||||||
extraGroups = [ "wheel" "networkmanager" ];
|
|
||||||
shell = pkgs.fish;
|
|
||||||
openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEO9a9lCSa84Acv0SqOI608IJGa61dT5Frbw2Y/ABCB9 eesim@ankaa"
|
|
||||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDvWgI2hkcjZvI9LcBEbH+1OuC3ULImTmd1qzOgcIuE7 eesim@alpheratz"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
users.users.tandoor = {
|
|
||||||
uid = 701;
|
|
||||||
group = "services";
|
|
||||||
extraGroups = [ "keys" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
users.groups = {
|
|
||||||
services = {
|
|
||||||
gid = 1001;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
system.stateVersion = "23.11";
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
if status is-interactive
|
|
||||||
fish_add_path "/home/eesim/.cargo/bin/"
|
|
||||||
|
|
||||||
abbr ll 'eza'
|
|
||||||
|
|
||||||
set fish_greeting
|
|
||||||
|
|
||||||
set -g fish_key_bindings fish_vi_key_bindings
|
|
||||||
|
|
||||||
set fish_cursor_default block
|
|
||||||
set fish_cursor_insert line
|
|
||||||
set fish_cursor_replace_one underscore
|
|
||||||
set fish_cursor_replace underscore
|
|
||||||
set fish_cursor_external line
|
|
||||||
set fish_cursor_visual block
|
|
||||||
|
|
||||||
function fish_mode_prompt
|
|
||||||
end
|
|
||||||
|
|
||||||
direnv hook fish | source
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
if status is-login
|
|
||||||
|
|
||||||
# Disable GTK portal
|
|
||||||
set -x GTK_USE_PORTAL "0"
|
|
||||||
|
|
||||||
# Java fix
|
|
||||||
set -x _JAVA_AWT_WM_NONREPARENTING "1"
|
|
||||||
|
|
||||||
end
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
if status is-interactive
|
|
||||||
fish_add_path "/home/eesim/.cargo/bin/"
|
|
||||||
|
|
||||||
abbr ll 'eza'
|
|
||||||
|
|
||||||
set fish_greeting
|
|
||||||
|
|
||||||
set -g fish_key_bindings fish_vi_key_bindings
|
|
||||||
|
|
||||||
set fish_cursor_default block
|
|
||||||
set fish_cursor_insert line
|
|
||||||
set fish_cursor_replace_one underscore
|
|
||||||
set fish_cursor_replace underscore
|
|
||||||
set fish_cursor_external line
|
|
||||||
set fish_cursor_visual block
|
|
||||||
|
|
||||||
function fish_mode_prompt
|
|
||||||
end
|
|
||||||
|
|
||||||
direnv hook fish | source
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
if status is-login
|
|
||||||
|
|
||||||
# Disable GTK portal
|
|
||||||
set -x GTK_USE_PORTAL "0"
|
|
||||||
|
|
||||||
# Java fix
|
|
||||||
set -x _JAVA_AWT_WM_NONREPARENTING "1"
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
if test (tty) = "/dev/tty1"
|
|
||||||
sway
|
|
||||||
end
|
|
||||||
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
local iron = require("iron.core")
|
|
||||||
|
|
||||||
iron.setup {
|
|
||||||
config = {
|
|
||||||
-- Whether a repl should be discarded or not
|
|
||||||
scratch_repl = true,
|
|
||||||
-- Your repl definitions come here
|
|
||||||
repl_definition = {
|
|
||||||
sh = {
|
|
||||||
-- Can be a table or a function that
|
|
||||||
-- returns a table (see below)
|
|
||||||
command = {"fish"}
|
|
||||||
},
|
|
||||||
python = {
|
|
||||||
command = { "python3" }, -- or { "ipython", "--no-autoindent" }
|
|
||||||
format = require("iron.fts.common").bracketed_paste_python
|
|
||||||
},
|
|
||||||
matlab = {
|
|
||||||
command = {
|
|
||||||
"matlab",
|
|
||||||
"-nosplash",
|
|
||||||
"-nodesktop"
|
|
||||||
},
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
-- How the repl window will be displayed
|
|
||||||
-- See below for more information
|
|
||||||
repl_open_cmd = require('iron.view').split.vertical.rightbelow("%40"),
|
|
||||||
},
|
|
||||||
-- Iron doesn't set keymaps by default anymore.
|
|
||||||
-- You can set them here or manually add keymaps to the functions in iron.core
|
|
||||||
keymaps = {
|
|
||||||
send_motion = "<space>sc",
|
|
||||||
visual_send = "<space>sc",
|
|
||||||
send_file = "<space>sf",
|
|
||||||
send_line = "<space>sl",
|
|
||||||
send_paragraph = "<space>sp",
|
|
||||||
send_until_cursor = "<space>su",
|
|
||||||
send_mark = "<space>sm",
|
|
||||||
mark_motion = "<space>mc",
|
|
||||||
mark_visual = "<space>mc",
|
|
||||||
remove_mark = "<space>md",
|
|
||||||
cr = "<space>s<cr>",
|
|
||||||
interrupt = "<space>s<space>",
|
|
||||||
exit = "<space>sq",
|
|
||||||
clear = "<space>cl",
|
|
||||||
},
|
|
||||||
-- If the highlight is on, you can change how it looks
|
|
||||||
-- For the available options, check nvim_set_hl
|
|
||||||
highlight = {
|
|
||||||
italic = true
|
|
||||||
},
|
|
||||||
ignore_blank_lines = true, -- ignore blank lines when sending visual select lines
|
|
||||||
}
|
|
||||||
|
|
||||||
-- iron also has a list of commands, see :h iron-commands for all available commands
|
|
||||||
vim.keymap.set('n', '<space>rs', '<cmd>IronRepl<cr>')
|
|
||||||
vim.keymap.set('n', '<space>rr', '<cmd>IronRestart<cr>')
|
|
||||||
vim.keymap.set('n', '<space>rf', '<cmd>IronFocus<cr>')
|
|
||||||
vim.keymap.set('n', '<space>rh', '<cmd>IronHide<cr>')
|
|
||||||
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -1,20 +0,0 @@
|
|||||||
unbind C-b
|
|
||||||
set-option -g prefix C-a
|
|
||||||
bind-key C-a send-prefix
|
|
||||||
|
|
||||||
unbind-key '"'
|
|
||||||
unbind-key %
|
|
||||||
bind-key | split-window -h -c "#{pane_current_path}"
|
|
||||||
bind-key - split-window -v -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
bind-key h select-pane -L
|
|
||||||
bind-key j select-pane -D
|
|
||||||
bind-key k select-pane -U
|
|
||||||
bind-key l select-pane -R
|
|
||||||
bind-key -r H resize-pane -L 5
|
|
||||||
bind-key -r J resize-pane -D 5
|
|
||||||
bind-key -r K resize-pane -U 5
|
|
||||||
bind-key -r L resize-pane -R 5
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./git.nix
|
|
||||||
./direnv.nix
|
|
||||||
./git.nix
|
|
||||||
./qt.nix
|
|
||||||
./sway.nix
|
|
||||||
./gtk.nix
|
|
||||||
./term.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.direnv;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.simmer.direnv = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Whether to install and configure direnv";
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
programs.direnv = {
|
|
||||||
enable = true;
|
|
||||||
enableBashIntegration = true;
|
|
||||||
nix-direnv.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.git;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.simmer.git = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Whether to install and configure git";
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
jujutsu = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Whether to install and configure jujutsu";
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
config = {
|
|
||||||
programs.git = mkIf cfg.enable {
|
|
||||||
enable = true;
|
|
||||||
userName = "Ethan Simmons";
|
|
||||||
userEmail = "contact@esimmons.me";
|
|
||||||
};
|
|
||||||
programs.jujutsu = mkIf cfg.jujutsu.enable {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
user = {
|
|
||||||
name = "Ethan Simmons";
|
|
||||||
email = "contact@esimmons.me";
|
|
||||||
};
|
|
||||||
ui.paginate = "never";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, systemConfig
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
gui = config.simmer.gui;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
config = {
|
|
||||||
gtk = mkIf gui.enable {
|
|
||||||
enable = true;
|
|
||||||
cursorTheme = {
|
|
||||||
name = "phinger-cursors-dark";
|
|
||||||
package = pkgs.phinger-cursors;
|
|
||||||
};
|
|
||||||
iconTheme = {
|
|
||||||
name = "awaidta-dark";
|
|
||||||
package = pkgs.adwaita-icon-theme;
|
|
||||||
};
|
|
||||||
theme = {
|
|
||||||
name = "adw-gtk3-dark";
|
|
||||||
package = pkgs.adw-gtk3;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.qt;
|
|
||||||
gui = config.simmer.gui;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.simmer.qt = {
|
|
||||||
theme.enable = mkOption {
|
|
||||||
description = "Whether to enable qt themes";
|
|
||||||
type = types.bool;
|
|
||||||
default = gui.enable;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = {
|
|
||||||
qt.style = mkIf cfg.theme.enable {
|
|
||||||
name = "adwaita-dark";
|
|
||||||
package = pkgs.adwaita-qt;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,286 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, localPackages
|
|
||||||
, config
|
|
||||||
, systemConfig
|
|
||||||
, utils
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
gui = config.simmer.gui;
|
|
||||||
term = config.simmer.term;
|
|
||||||
laptop = config.simmer.laptop;
|
|
||||||
modifier = "Mod4";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
config = mkIf gui.sway.enable {
|
|
||||||
services.swayidle = {
|
|
||||||
enable = true;
|
|
||||||
timeouts = [
|
|
||||||
(mkIf gui.sway.desktop {
|
|
||||||
timeout = 600;
|
|
||||||
command = "${pkgs.sway}/bin/swaymsg 'output * dpms off'";
|
|
||||||
resumeCommand = "${pkgs.sway}/bin/swaymsg 'output * dpms on'";
|
|
||||||
})
|
|
||||||
(mkIf (!gui.sway.desktop) {
|
|
||||||
timeout = 300;
|
|
||||||
command = "${pkgs.swaylock}/bin/swaylock -f -c 000000";
|
|
||||||
})
|
|
||||||
(mkIf (!gui.sway.desktop) {
|
|
||||||
timeout = 420;
|
|
||||||
command = "${pkgs.sway}/bin/swaymsg 'output * dpms off'";
|
|
||||||
resumeCommand = "${pkgs.sway}/bin/swaymsg 'output * dpms on'";
|
|
||||||
})
|
|
||||||
(mkIf (!gui.sway.desktop) {
|
|
||||||
timeout = 600;
|
|
||||||
command = "systemctl suspend";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
events = (mkIf (laptop.enable) {
|
|
||||||
"before-sleep" = "${pkgs.swaylock}/bin/swaylock -f -c 000000";
|
|
||||||
});
|
|
||||||
|
|
||||||
# Updated for unstable
|
|
||||||
# events = [
|
|
||||||
# (mkIf (!gui.sway.desktop) {
|
|
||||||
# event = "before-sleep";
|
|
||||||
# command = "${pkgs.swaylock}/bin/swaylock -f -c 000000";
|
|
||||||
# })
|
|
||||||
# ];
|
|
||||||
|
|
||||||
};
|
|
||||||
wayland.windowManager.sway = {
|
|
||||||
enable = true;
|
|
||||||
checkConfig = false;
|
|
||||||
|
|
||||||
config = {
|
|
||||||
modifier = modifier;
|
|
||||||
keybindings = mkMerge [
|
|
||||||
{
|
|
||||||
"XF86AudioRaiseVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%";
|
|
||||||
"XF86AudioLowerVolume" = "exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%";
|
|
||||||
"XF86AudioMute" = "exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle";
|
|
||||||
"XF86AudioMicMute" = "exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle";
|
|
||||||
"${modifier}+space" = "exec \"kickoff-dot-desktop | ${pkgs.kickoff}/bin/kickoff --from-stdin --stdout | xargs -d '\\n' ${pkgs.sway}/bin/swaymsg exec\"";
|
|
||||||
"${modifier}+Return" = "exec ${term.terminal}";
|
|
||||||
"${modifier}+Control+f" = "exec MOZ_ENABLE_WAYLAND=1 firefox";
|
|
||||||
"${modifier}+Control+t" = "exec thunar";
|
|
||||||
"${modifier}+Control+h" = "exec helvum";
|
|
||||||
"${modifier}+Control+p" = "exec pavucontrol";
|
|
||||||
"${modifier}+h" = "focus left";
|
|
||||||
"${modifier}+j" = "focus down";
|
|
||||||
"${modifier}+k" = "focus up";
|
|
||||||
"${modifier}+l" = "focus right";
|
|
||||||
"${modifier}+Left" = "focus left";
|
|
||||||
"${modifier}+Down" = "focus down";
|
|
||||||
"${modifier}+Up" = "focus up";
|
|
||||||
"${modifier}+Right" = "focus right";
|
|
||||||
"${modifier}+Shift+h" = "move left 30px";
|
|
||||||
"${modifier}+Shift+j" = "move down 30px";
|
|
||||||
"${modifier}+Shift+k" = "move up 30px";
|
|
||||||
"${modifier}+Shift+l" = "move right 30px";
|
|
||||||
"${modifier}+Shift+Left" = "move left";
|
|
||||||
"${modifier}+Shift+Down" = "move down";
|
|
||||||
"${modifier}+Shift+Up" = "move up";
|
|
||||||
"${modifier}+Shift+Right" = "move right";
|
|
||||||
"${modifier}+b" = "split h";
|
|
||||||
"${modifier}+v" = "split v";
|
|
||||||
"${modifier}+r" = "mode 'resize'";
|
|
||||||
"${modifier}+f" = "fullscreen toggle";
|
|
||||||
"${modifier}+Shift+space" = "floating toggle";
|
|
||||||
"${modifier}+s" = "layout stacking";
|
|
||||||
"${modifier}+w" = "layout tabbed";
|
|
||||||
"${modifier}+e" = "layout toggle split";
|
|
||||||
"${modifier}+a" = "focus parent";
|
|
||||||
"${modifier}+1" = "workspace 1 ";
|
|
||||||
"${modifier}+2" = "workspace 2";
|
|
||||||
"${modifier}+3" = "workspace 3";
|
|
||||||
"${modifier}+4" = "workspace 4";
|
|
||||||
"${modifier}+5" = "workspace 5";
|
|
||||||
"${modifier}+6" = "workspace 6";
|
|
||||||
"${modifier}+7" = "workspace 7";
|
|
||||||
"${modifier}+8" = "workspace 8";
|
|
||||||
"${modifier}+9" = "workspace 9";
|
|
||||||
"${modifier}+0" = "workspace 10";
|
|
||||||
"${modifier}+Shift+1" = "move container to workspace 1";
|
|
||||||
"${modifier}+Shift+2" = "move container to workspace 2";
|
|
||||||
"${modifier}+Shift+3" = "move container to workspace 3";
|
|
||||||
"${modifier}+Shift+4" = "move container to workspace 4";
|
|
||||||
"${modifier}+Shift+5" = "move container to workspace 5";
|
|
||||||
"${modifier}+Shift+6" = "move container to workspace 6";
|
|
||||||
"${modifier}+Shift+7" = "move container to workspace 7";
|
|
||||||
"${modifier}+Shift+8" = "move container to workspace 8";
|
|
||||||
"${modifier}+Shift+9" = "move container to workspace 9";
|
|
||||||
"${modifier}+Shift+0" = "move container to workspace 10";
|
|
||||||
"${modifier}+Shift+e" = "exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit'";
|
|
||||||
"${modifier}+Shift+c" = "reload";
|
|
||||||
"${modifier}+Shift+s" = "exec 'TMPFILE=\"$(mktemp)\"; ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" \"$TMPFILE\"; mv \"$TMPFILE\" \"/home/eesim/Pictures/$(${pkgs.zenity}/bin/zenity --entry).png\"'";
|
|
||||||
"${modifier}+Shift+o" = "exec '${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" - | ${localPackages.x86_64-linux.gazou}/bin/gazou | tail -n +2 | ${pkgs.wl-clipboard}/bin/wl-copy'";
|
|
||||||
"${modifier}+Shift+q" = "kill";
|
|
||||||
"${modifier}+p" = "focus mode_toggle";
|
|
||||||
"${modifier}+Control+b" = "exec bluetoothctl connect 18:3F:70:62:A5:3C";
|
|
||||||
"XF86AudioPause" = "exec playerctl play-pause";
|
|
||||||
"XF86AudioNext" = "exec playerctl next";
|
|
||||||
"XF86AudioPrev" = "exec playerctl previous";
|
|
||||||
}
|
|
||||||
(mkIf gui.sway.desktop {
|
|
||||||
"${modifier}+Control+s" = "exec steam";
|
|
||||||
"${modifier}+Control+d" = "exec vesktop --enable-features=WebRTCPipeWireCapturer";
|
|
||||||
"${modifier}+Control+x" = "exec feishin";
|
|
||||||
})
|
|
||||||
(mkIf laptop.backlight.enable {
|
|
||||||
"XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set +5%";
|
|
||||||
"XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 5%-";
|
|
||||||
"${modifier}+XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set +1%";
|
|
||||||
"${modifier}+XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl set 1%-";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
startup = [
|
|
||||||
{ command = "fcitx5 -d"; }
|
|
||||||
] ++ optionals gui.sway.desktop [
|
|
||||||
{ command = "vorta"; }
|
|
||||||
{ command = "MOZ_ENABLE_WAYLAND=1 firefox"; }
|
|
||||||
{ command = "sleep 20 && vesktop --enable-features=WebRTCPipeWireCapturer"; }
|
|
||||||
{ command = "--no-startup-id openrgb --startminimized"; }
|
|
||||||
{ command = "--no-startup-id easyeffects --gapplication-service"; }
|
|
||||||
{ command = "--no-startup-id wayland-pipewire-idle-inhibit"; }
|
|
||||||
] ++ optionals gui.protonmail
|
|
||||||
[
|
|
||||||
{ command = "--no-startup-id protonmail-bridge --noninteractive"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
workspaceOutputAssign = mkIf gui.sway.desktop [
|
|
||||||
{workspace = "1"; output = "DP-2"; }
|
|
||||||
{workspace = "2"; output = "DP-2"; }
|
|
||||||
{workspace = "3"; output = "DP-2"; }
|
|
||||||
{workspace = "4"; output = "HDMI-A-1"; }
|
|
||||||
{workspace = "5"; output = "HDMI-A-1"; }
|
|
||||||
{workspace = "6"; output = "HDMI-A-1"; }
|
|
||||||
{workspace = "7"; output = "HDMI-A-1"; }
|
|
||||||
{workspace = "8"; output = "HDMI-A-1"; }
|
|
||||||
{workspace = "9"; output = "HDMI-A-1"; }
|
|
||||||
{workspace = "10"; output = "HDMI-A-1"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
assigns = mkIf gui.sway.desktop {
|
|
||||||
"1" = [];
|
|
||||||
|
|
||||||
"2" = [
|
|
||||||
{app_id="mpv"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
"3" = [
|
|
||||||
{class="steam"; }
|
|
||||||
{class="gamescope"; }
|
|
||||||
{app_id="gamescope"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
"4" = [
|
|
||||||
{app_id="firefox"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
"5" = [
|
|
||||||
{app_id="de.shorsh.discord-screenaudio"; }
|
|
||||||
{class="discord"; }
|
|
||||||
{class="vesktop"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
"6" = [
|
|
||||||
];
|
|
||||||
|
|
||||||
"7" = [
|
|
||||||
{class="feishin"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
"8" = [
|
|
||||||
{app_id="com.github.wwmm.easyeffects"; }
|
|
||||||
{app_id="org.pipewire.Helvum"; }
|
|
||||||
{app_id="pavucontrol"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
"9" = [];
|
|
||||||
|
|
||||||
"0" = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
input."type:keyboard" = {
|
|
||||||
xkb_layout = "us,de";
|
|
||||||
xkb_options = "grp:lctrl_lalt_toggle,lv3:ralt_switch";
|
|
||||||
};
|
|
||||||
|
|
||||||
output = gui.monitors;
|
|
||||||
|
|
||||||
floating = {
|
|
||||||
modifier = modifier;
|
|
||||||
border = 5;
|
|
||||||
};
|
|
||||||
|
|
||||||
window = {
|
|
||||||
border = 5;
|
|
||||||
titlebar = false;
|
|
||||||
commands = [
|
|
||||||
{ criteria = { class = "vesktop"; }; command = "opacity 0.9"; }
|
|
||||||
{ criteria = { app_id = "Alacritty"; }; command = "opacity 0.9"; }
|
|
||||||
{ criteria = { app_id = "kitty"; }; command = "opacity 0.9"; }
|
|
||||||
{ criteria = { class = "feishin"; }; command = "opacity 0.9"; }
|
|
||||||
{ criteria = { class = "gamescope"; }; command = "fullscreen"; }
|
|
||||||
{ criteria = { app_id = "gamescope"; }; command = "fullscreen"; }
|
|
||||||
{ criteria = { class = "Wfica"; }; command = "fullscreen"; }
|
|
||||||
{ criteria = { app_id = "mpv"; }; command = "fullscreen"; }
|
|
||||||
{ criteria = { app_id = "org.speedcrunch."; }; command = "floating enable"; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
gaps = {
|
|
||||||
inner = 10;
|
|
||||||
outer = -5;
|
|
||||||
smartGaps = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
bars = [
|
|
||||||
{ command = "${pkgs.waybar}/bin/waybar"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
extraConfig = ''
|
|
||||||
|
|
||||||
|
|
||||||
set $bg-color #58536d
|
|
||||||
set $inactive-bg-color #2f343f
|
|
||||||
set $text-color #f3f4f5
|
|
||||||
set $inactive-text-color #676E7D
|
|
||||||
set $urgent-bg-color #E53935
|
|
||||||
|
|
||||||
# window colors
|
|
||||||
# border background text indicator
|
|
||||||
client.focused $bg-color $bg-color $text-color #4B5177
|
|
||||||
client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color #4B5177
|
|
||||||
client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color #4B5177
|
|
||||||
client.urgent $urgent-bg-color $urgent-bg-color $text-color #4B5177
|
|
||||||
|
|
||||||
smart_gaps inverse_outer
|
|
||||||
|
|
||||||
'';
|
|
||||||
|
|
||||||
extraSessionCommands =
|
|
||||||
(if gui.secrets
|
|
||||||
then ''
|
|
||||||
eval $(gnome-keyring-daemon --start --components=pkcs11,secrets,ssh);
|
|
||||||
export SSH_AUTH_SOCK;
|
|
||||||
''
|
|
||||||
else "") + ''
|
|
||||||
# https://www.reddit.com/r/swaywm/comments/i6qlos/how_do_i_use_an_ime_with_sway/g1lk4xh?utm_source=share&utm_medium=web2x&context=3
|
|
||||||
export INPUT_METHOD=fcitx
|
|
||||||
export QT_IM_MODULE=fcitx
|
|
||||||
export GTK_IM_MODULE=fcitx
|
|
||||||
export XMODIFIERS=@im=fcitx
|
|
||||||
export XIM_SERVERS=fcitx
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.term;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
|
|
||||||
config = {
|
|
||||||
programs.kitty = mkIf (cfg.terminal == "kitty") {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
confirm_os_window_close = 0;
|
|
||||||
};
|
|
||||||
font.name = mkIf (cfg.font == "codelia") "Codelia";
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
programs.alacritty = mkIf (cfg.terminal == "alacritty") {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.audio;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
|
|
||||||
config = {
|
|
||||||
environment.systemPackages = with pkgs; []
|
|
||||||
++ optional cfg.pipewire.enable pulseaudio
|
|
||||||
++ optional cfg.music.enable supersonic
|
|
||||||
# FIXME: unmaintained
|
|
||||||
# ++ optional cfg.tools.helvum helvum
|
|
||||||
++ optional cfg.tools.easyeffects easyeffects
|
|
||||||
++ optional cfg.tools.pavucontrol pavucontrol;
|
|
||||||
|
|
||||||
|
|
||||||
security.rtkit.enable = mkIf cfg.pipewire.enable true;
|
|
||||||
services.pipewire = mkIf cfg.pipewire.enable {
|
|
||||||
enable = true;
|
|
||||||
alsa = {
|
|
||||||
enable = true;
|
|
||||||
support32Bit = true;
|
|
||||||
};
|
|
||||||
pulse.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
{ pkgs
|
|
||||||
, lib
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.backup;
|
|
||||||
compression = if (cfg.compression == "zstd") then "auto,zstd,3" else "auto,lzma";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
services.borgbackup.jobs = {
|
|
||||||
backup = {
|
|
||||||
user = cfg.user;
|
|
||||||
paths = cfg.paths;
|
|
||||||
exclude = cfg.excludes;
|
|
||||||
repo = cfg.repo;
|
|
||||||
encryption = {
|
|
||||||
mode = "repokey-blake2";
|
|
||||||
passCommand = "cat ${cfg.passphrase}";
|
|
||||||
};
|
|
||||||
environment.BORG_RSH = "ssh -i ${cfg.key}";
|
|
||||||
compression = compression;
|
|
||||||
startAt = cfg.repeat;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, localPackages
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.common;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
config = {
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
curl
|
|
||||||
wget
|
|
||||||
git
|
|
||||||
jujutsu
|
|
||||||
killall
|
|
||||||
vim
|
|
||||||
eza
|
|
||||||
ripgrep
|
|
||||||
fzf
|
|
||||||
yazi
|
|
||||||
ncdu
|
|
||||||
btop
|
|
||||||
pciutils
|
|
||||||
]
|
|
||||||
++ optional cfg.nil.enable nil;
|
|
||||||
|
|
||||||
programs.neovim = mkIf cfg.neovim.enable {
|
|
||||||
enable = true;
|
|
||||||
defaultEditor = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
services.keyd = mkIf (cfg.caps != "caps") {
|
|
||||||
enable = true;
|
|
||||||
keyboards.default = {
|
|
||||||
ids = [ "*" ];
|
|
||||||
settings = {
|
|
||||||
main = mkMerge [
|
|
||||||
(mkIf (cfg.caps == "ctrl-esc") { capslock = "overload(control, esc)"; })
|
|
||||||
(mkIf (cfg.caps == "esc") { capslock = "esc"; })
|
|
||||||
{ rightcontrol = "rightcontrol"; }
|
|
||||||
{ rightshift = "rightshift"; }
|
|
||||||
];
|
|
||||||
altgr = mkMerge [
|
|
||||||
{ "-" = "macro(C-S-u 2 0 1 4 space)"; }
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.fish = mkIf (cfg.shell == "fish") {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./openssh.nix
|
|
||||||
./backup.nix
|
|
||||||
./audio.nix
|
|
||||||
./gui.nix
|
|
||||||
./common.nix
|
|
||||||
./networking.nix
|
|
||||||
./games.nix
|
|
||||||
./laptop.nix
|
|
||||||
./school
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, localPackages
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.games;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
environment.systemPackages = with pkgs; []
|
|
||||||
++ optional cfg.protonup.enable protonup-qt
|
|
||||||
++ optional cfg.gamescope.enable gamescope
|
|
||||||
++ optional cfg.discord.enable vesktop
|
|
||||||
++ optional cfg.minecraft.enable prismlauncher
|
|
||||||
++ optional cfg.vintagestory.enable vintagestory
|
|
||||||
++ optional cfg.ps4.enable localPackages.x86_64-linux.shadps4
|
|
||||||
++ optionals cfg.lutris.enable [ lutris wine ];
|
|
||||||
|
|
||||||
programs.steam = mkIf cfg.steam.enable {
|
|
||||||
enable = true;
|
|
||||||
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, localPackages
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.gui;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
environment.systemPackages = with pkgs; with localPackages.x86_64-linux; []
|
|
||||||
++ optionals cfg.sway.enable [
|
|
||||||
wl-clipboard
|
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
waybar
|
|
||||||
swaybg
|
|
||||||
kickoff
|
|
||||||
kickoff-dot-desktop
|
|
||||||
wayland-pipewire-idle-inhibit
|
|
||||||
firefox
|
|
||||||
mpv
|
|
||||||
feh
|
|
||||||
]
|
|
||||||
++ optional cfg.matrix cinny-desktop
|
|
||||||
++ optional cfg.secrets libsecret
|
|
||||||
++ optionals cfg.protonmail [ thunderbird protonmail-bridge ];
|
|
||||||
|
|
||||||
programs.dconf.enable = mkIf cfg.secrets true;
|
|
||||||
services.gnome.gnome-keyring.enable = mkIf cfg.secrets true;
|
|
||||||
services.dbus.packages = mkIf cfg.secrets [ pkgs.seahorse ];
|
|
||||||
|
|
||||||
# Remove when nixpkgs issue 143365 is fixed
|
|
||||||
security.pam.services.swaylock = mkIf (!cfg.sway.desktop) {};
|
|
||||||
|
|
||||||
xdg.portal.enable = true;
|
|
||||||
xdg.portal.config.common = {
|
|
||||||
default = [ "wlr" "gtk" ];
|
|
||||||
};
|
|
||||||
programs.thunar.enable = true;
|
|
||||||
|
|
||||||
hardware.opengl.enable = true;
|
|
||||||
|
|
||||||
i18n.inputMethod = {
|
|
||||||
enabled = "fcitx5";
|
|
||||||
fcitx5.addons = with pkgs; [
|
|
||||||
fcitx5-mozc
|
|
||||||
fcitx5-gtk
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
fonts = {
|
|
||||||
packages = with pkgs; [
|
|
||||||
xdg-desktop-portal-wlr
|
|
||||||
liberation_ttf
|
|
||||||
noto-fonts
|
|
||||||
noto-fonts-cjk-sans
|
|
||||||
ubuntu-classic
|
|
||||||
vazirmatn
|
|
||||||
font-awesome
|
|
||||||
corefonts
|
|
||||||
carlito
|
|
||||||
roboto
|
|
||||||
source-sans
|
|
||||||
source-sans-pro
|
|
||||||
];
|
|
||||||
fontconfig = {
|
|
||||||
|
|
||||||
defaultFonts = {
|
|
||||||
serif = [ "Noto Serif" "Noto Serif CJK JP" ];
|
|
||||||
sansSerif = [ "Noto Sans" "Noto Sans CJK JP" ];
|
|
||||||
monospace = [ "Ubuntu Mono" "Noto Sans Mono CJK JP" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.laptop;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
|
|
||||||
# FIXME: No longer maintained
|
|
||||||
# config.programs.light.enable = mkIf cfg.backlight.enable true;
|
|
||||||
|
|
||||||
config.powerManagement.powertop.enable = mkIf cfg.powersave.enable true;
|
|
||||||
config.services.auto-cpufreq = mkIf cfg.powersave.enable {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
battery = {
|
|
||||||
governor = "powersave";
|
|
||||||
turbo = "never";
|
|
||||||
};
|
|
||||||
charger = {
|
|
||||||
governor = "performance";
|
|
||||||
turbo = "auto";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, localPackages
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.networking;
|
|
||||||
openssh = config.simmer.openssh;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
|
|
||||||
config = {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
ldns
|
|
||||||
mtr
|
|
||||||
]
|
|
||||||
++ optional cfg.wireguard.enable wireguard-tools;
|
|
||||||
|
|
||||||
networking.networkmanager.enable = cfg.networkmanager.enable;
|
|
||||||
networking.nameservers = cfg.nameservers;
|
|
||||||
networking.firewall = {
|
|
||||||
enable = cfg.firewall.enable;
|
|
||||||
allowedTCPPorts = cfg.firewall.allowedTCPPorts
|
|
||||||
++ optional openssh.enable openssh.port;
|
|
||||||
|
|
||||||
allowedUDPPorts = cfg.firewall.allowedUDPPorts;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.openssh;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
services.openssh = {
|
|
||||||
enable = true;
|
|
||||||
ports = [ cfg.port ];
|
|
||||||
settings = {
|
|
||||||
PermitRootLogin = "no";
|
|
||||||
PasswordAuthentication = cfg.allow-password;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, localPackages
|
|
||||||
, pkgs_stable_tmp
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.school;
|
|
||||||
extraCerts = [ ./incommon-rsa-ca2.pem ];
|
|
||||||
citrix = pkgs_stable_tmp.citrix_workspace_23_09_0.override { inherit extraCerts; };
|
|
||||||
in
|
|
||||||
{
|
|
||||||
config = mkIf cfg.enable {
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
xournalpp
|
|
||||||
libreoffice
|
|
||||||
anki
|
|
||||||
]
|
|
||||||
++ optional cfg.citrix citrix
|
|
||||||
++ optional cfg.kicad kicad
|
|
||||||
++ optional cfg.logisim logisim-evolution;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIGSjCCBDKgAwIBAgIRAINbdhUgbS1uCX4LbkCf78AwDQYJKoZIhvcNAQEMBQAw
|
|
||||||
gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpOZXcgSmVyc2V5MRQwEgYDVQQHEwtK
|
|
||||||
ZXJzZXkgQ2l0eTEeMBwGA1UEChMVVGhlIFVTRVJUUlVTVCBOZXR3b3JrMS4wLAYD
|
|
||||||
VQQDEyVVU0VSVHJ1c3QgUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTIy
|
|
||||||
MTExNjAwMDAwMFoXDTMyMTExNTIzNTk1OVowRDELMAkGA1UEBhMCVVMxEjAQBgNV
|
|
||||||
BAoTCUludGVybmV0MjEhMB8GA1UEAxMYSW5Db21tb24gUlNBIFNlcnZlciBDQSAy
|
|
||||||
MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAifBcxDi60DRXr5dVoPQi
|
|
||||||
Q/w+GBE62216UiEGMdbUt7eSiIaFj/iZ/xiFop0rWuH4BCFJ3kSvQF+aIhEsOnuX
|
|
||||||
R6mViSpUx53HM5ApIzFIVbd4GqY6tgwaPzu/XRI/4Dmz+hoLW/i/zD19iXvS95qf
|
|
||||||
NU8qP7/3/USf2/VNSUNmuMKlaRgwkouue0usidYK7V8W3ze+rTFvWR2JtWKNTInc
|
|
||||||
NyWD3GhVy/7G09PwTAu7h0qqRyTkETLf+z7FWtc8c12f+SfvmKHKFVqKpNPtgMkr
|
|
||||||
wqwaOgOOD4Q00AihVT+UzJ6MmhNPGg+/Xf0BavmXKCGDTv5uzQeOdD35o/Zw16V4
|
|
||||||
C4J4toj1WLY7hkVhrzKG+UWJiSn8Hv3dUTj4dkneJBNQrUfcIfTHV3gCtKwXn1eX
|
|
||||||
mrxhH+tWu9RVwsDegRG0s28OMdVeOwljZvYrUjRomutNO5GzynveVxJVCn3Cbn7a
|
|
||||||
c4L+5vwPNgs04DdOAGzNYdG5t6ryyYPosSLH2B8qDNzxAgMBAAGjggFwMIIBbDAf
|
|
||||||
BgNVHSMEGDAWgBRTeb9aqitKz1SA4dibwJ3ysgNmyzAdBgNVHQ4EFgQU70wAkqb7
|
|
||||||
di5eleLJX4cbGdVN4tkwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8C
|
|
||||||
AQAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMCIGA1UdIAQbMBkwDQYL
|
|
||||||
KwYBBAGyMQECAmcwCAYGZ4EMAQICMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9j
|
|
||||||
cmwudXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9y
|
|
||||||
aXR5LmNybDBxBggrBgEFBQcBAQRlMGMwOgYIKwYBBQUHMAKGLmh0dHA6Ly9jcnQu
|
|
||||||
dXNlcnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FBQUFDQS5jcnQwJQYIKwYBBQUHMAGG
|
|
||||||
GWh0dHA6Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggIBACaA
|
|
||||||
DTTkHq4ivq8+puKE+ca3JbH32y+odcJqgqzDts5bgsapBswRYypjmXLel11Q2U6w
|
|
||||||
rySldlIjBRDZ8Ah8NOs85A6MKJQLaU9qHzRyG6w2UQTzRwx2seY30Mks3ZdIe9rj
|
|
||||||
s5rEYliIOh9Dwy8wUTJxXzmYf/A1Gkp4JJp0xIhCVR1gCSOX5JW6185kwid242bs
|
|
||||||
Lm0vCQBAA/rQgxvLpItZhC9US/r33lgtX/cYFzB4jGOd+Xs2sEAUlGyu8grLohYh
|
|
||||||
kgWN6hqyoFdOpmrl8yu7CSGV7gmVQf9viwVBDIKm+2zLDo/nhRkk8xA0Bb1BqPzy
|
|
||||||
bPESSVh4y5rZ5bzB4Lo2YN061HV9+HDnnIDBffNIicACdv4JGyGfpbS6xsi3UCN1
|
|
||||||
5ypaG43PJqQ0UnBQDuR60io1ApeSNkYhkaHQ9Tk/0C4A+EM3MW/KFuU53eHLVlX9
|
|
||||||
ss1iG2AJfVktaZ2l/SbY7py8JUYMkL/jqZBRjNkD6srsmpJ6utUMmAlt7m1+cTX8
|
|
||||||
6/VEBc5Dp9VfuD6hNbNKDSg7YxyEVaBqBEtN5dppj4xSiCrs6LxLHnNo3rG8VJRf
|
|
||||||
NVQdgFbMb7dOIBokklzfmU69lS0kgyz2mZMJmW2G/hhEdddJWHh3FcLi2MaeYiOV
|
|
||||||
RFrLHtJvXEdf2aEaZ0LOb2Xo3zO6BJvjXldv2woN
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.audio;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
|
|
||||||
options.simmer.audio = {
|
|
||||||
pipewire = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Enable pipewire";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
music = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Install music player";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
tools = {
|
|
||||||
helvum = mkOption {
|
|
||||||
description = "Install helvum";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
easyeffects = mkOption {
|
|
||||||
description = "Install easyeffects";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
pavucontrol = mkOption {
|
|
||||||
description = "Install pavucontrol";
|
|
||||||
type = types.bool;
|
|
||||||
default = cfg.pipewire.enable;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,60 +0,0 @@
|
|||||||
|
|
||||||
{ pkgs
|
|
||||||
, lib
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
{
|
|
||||||
options.simmer.backup = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Whether backups should be enabled";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
repo = mkOption {
|
|
||||||
description = "Which repository to backup to";
|
|
||||||
type = types.str;
|
|
||||||
};
|
|
||||||
|
|
||||||
paths = mkOption {
|
|
||||||
description = "Which paths to backup";
|
|
||||||
type = types.listOf types.str;
|
|
||||||
};
|
|
||||||
|
|
||||||
user = mkOption {
|
|
||||||
description = "Which user to run backup commands with";
|
|
||||||
type = types.str;
|
|
||||||
default = "root";
|
|
||||||
};
|
|
||||||
|
|
||||||
excludes = mkOption {
|
|
||||||
description = "Which directories to exclude";
|
|
||||||
type = types.listOf types.str;
|
|
||||||
default = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
passphrase = mkOption {
|
|
||||||
description = "Path to file containing passphrase";
|
|
||||||
type = types.path;
|
|
||||||
};
|
|
||||||
|
|
||||||
key = mkOption {
|
|
||||||
description = "Path to file containing SSH Key";
|
|
||||||
type = types.path;
|
|
||||||
};
|
|
||||||
|
|
||||||
repeat = mkOption {
|
|
||||||
description = "How often to run the backup (hourly, daily, weekly)";
|
|
||||||
type = types.enum [ "hourly" "daily" "weekly" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
compression = mkOption {
|
|
||||||
description = "Which compression option to use (lzma, zstd)";
|
|
||||||
type = types.enum [ "lzma" "zstd" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
|
|
||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, localPackages
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
{
|
|
||||||
options.simmer.common = {
|
|
||||||
neovim.enable = mkOption {
|
|
||||||
description = "Whether to install neovim and set as default editor";
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
nil.enable = mkOption {
|
|
||||||
description = "Whether to install nil";
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
shell = mkOption {
|
|
||||||
description = "Default shell to use (fish)";
|
|
||||||
type = types.enum [ "fish" ];
|
|
||||||
default = "fish";
|
|
||||||
};
|
|
||||||
|
|
||||||
caps = mkOption {
|
|
||||||
description = "What key to bind caps lock to";
|
|
||||||
type = types.enum [ "ctrl-esc" "esc" "caps" ];
|
|
||||||
default = "ctrl-esc";
|
|
||||||
};
|
|
||||||
|
|
||||||
nixpkgs = mkOption {
|
|
||||||
description = "Which nixpkgs version to use";
|
|
||||||
type = types.any;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./audio.nix
|
|
||||||
./backup.nix
|
|
||||||
./common.nix
|
|
||||||
./games.nix
|
|
||||||
./gui.nix
|
|
||||||
./networking.nix
|
|
||||||
./openssh.nix
|
|
||||||
./system.nix
|
|
||||||
./laptop.nix
|
|
||||||
./school.nix
|
|
||||||
./term.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, localPackages
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.simmer.games;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.simmer.games = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Whether to enable games";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
protonup.enable = mkOption {
|
|
||||||
description = "Whether to install protonup";
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
lutris.enable = mkOption {
|
|
||||||
description = "Whether to install lutris";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
steam.enable = mkOption {
|
|
||||||
description = "Whether to install steam";
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
vintagestory.enable = mkOption {
|
|
||||||
description = "Whether to install Vintage Story";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
minecraft.enable = mkOption {
|
|
||||||
description = "Whether to install minecraft launcher";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
ps4.enable = mkOption {
|
|
||||||
description = "Whether to install ps4 emulator";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
gamescope.enable = mkOption {
|
|
||||||
description = "Whether to install gamescope";
|
|
||||||
type = types.bool;
|
|
||||||
default = cfg.steam.enable;
|
|
||||||
};
|
|
||||||
|
|
||||||
discord.enable = mkOption {
|
|
||||||
description = "Whether to install discord";
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, localPackages
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.simmer.gui;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
|
|
||||||
options.simmer.gui = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Enable gui";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
sway = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Install and configure sway window manager";
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
desktop = mkOption {
|
|
||||||
description= "Use desktop configuration";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk = mkOption {
|
|
||||||
description = "Whether to configure gtk";
|
|
||||||
type = types.bool;
|
|
||||||
default = cfg.gui.enable;
|
|
||||||
};
|
|
||||||
|
|
||||||
protonmail = mkOption {
|
|
||||||
description = "Whether to install protonmail bridge and mail application";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
secrets = mkOption {
|
|
||||||
description = "Whether to enable secrets handling with gnomke-keyring";
|
|
||||||
type = types.bool;
|
|
||||||
default = cfg.protonmail;
|
|
||||||
};
|
|
||||||
|
|
||||||
matrix = mkOption {
|
|
||||||
description = "Whether to install a matrix client";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
monitors = mkOption {
|
|
||||||
description = "Attribute set of system monitors";
|
|
||||||
type = types.attrs;
|
|
||||||
default = {};
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.gui;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.simmer.laptop = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Whether to enable laptop specific setting";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
backlight.enable = mkOption {
|
|
||||||
description = "Whether to enable backlight control";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
powersave.enable = mkOption {
|
|
||||||
description = "Whether to enable powersaving programs";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
|
|
||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, localPackages
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.networking;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
|
|
||||||
options.simmer.networking = {
|
|
||||||
firewall = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Whether to enable firewall";
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
allowedTCPPorts = mkOption {
|
|
||||||
description = "Which tcp ports to allow through firewall";
|
|
||||||
type = types.listOf types.int;
|
|
||||||
default = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
allowedUDPPorts = mkOption {
|
|
||||||
description = "Which udp ports to allow through firewall";
|
|
||||||
type = types.listOf types.int;
|
|
||||||
default = [];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
wireguard = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Whether to install wireguard";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
networkmanager = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Whether to enable network manager";
|
|
||||||
type = types.bool;
|
|
||||||
default = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
nameservers = mkOption {
|
|
||||||
description = "Which nameservers to use";
|
|
||||||
type = types.listOf types.str;
|
|
||||||
default = [ "1.1.1.1" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
|
|
||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.openssh;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.simmer.openssh = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Whether to enable openssh server";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
port = mkOption {
|
|
||||||
description = "What port the server should run on";
|
|
||||||
type = types.int;
|
|
||||||
default = 22;
|
|
||||||
};
|
|
||||||
|
|
||||||
allow-password = mkOption {
|
|
||||||
description = "Whether the server should allow password authenitication" ;
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
let
|
|
||||||
cfg = config.simmer.school;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.simmer.school = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Whether to install default software for school";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
citrix = mkOption {
|
|
||||||
description = "Whether to install and setup citrix";
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
kicad = mkOption {
|
|
||||||
description = "Whether to install kicad";
|
|
||||||
type = types.bool;
|
|
||||||
default = cfg.enable;
|
|
||||||
};
|
|
||||||
logisim = mkOption {
|
|
||||||
description = "Whether to install logisim";
|
|
||||||
type = types.bool;
|
|
||||||
default = cfg.enable;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
|
|
||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; {
|
|
||||||
options.simmer.system = mkOption {
|
|
||||||
description = "System architecture";
|
|
||||||
type = types.str;
|
|
||||||
default = "x86_64-linux";
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, pkgs
|
|
||||||
, config
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
|
|
||||||
with lib; let
|
|
||||||
cfg = config.simmer.term;
|
|
||||||
gui = config.simmer.gui;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.simmer.term = {
|
|
||||||
enable = mkOption {
|
|
||||||
description = "Whether to install and configure a terminal";
|
|
||||||
type = types.bool;
|
|
||||||
default = gui.enable;
|
|
||||||
};
|
|
||||||
|
|
||||||
terminal = mkOption {
|
|
||||||
description = "Which terminal to install (alcritty, kitty)";
|
|
||||||
type = types.enum [ "alacritty" "kitty" ];
|
|
||||||
default = "alacritty";
|
|
||||||
};
|
|
||||||
|
|
||||||
font = mkOption {
|
|
||||||
description = "Which font to use in terminal";
|
|
||||||
type = types.enum [ "default" "codelia" ];
|
|
||||||
default = "codelia";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
final: prev: {
|
|
||||||
# https://github.com/NixOS/nixpkgs/issues/348868
|
|
||||||
citrix_workspace_23_09_0 = prev.citrix_workspace_23_09_0.override {
|
|
||||||
libvorbis = final.libvorbis.override {
|
|
||||||
libogg = final.libogg.overrideAttrs (prevAttrs: {
|
|
||||||
cmakeFlags = (if prevAttrs ? cmakeFlags then prevAttrs.cmakeFlags else []) ++ [
|
|
||||||
(final.lib.cmakeBool "BUILD_SHARED_LIBS" true)
|
|
||||||
];
|
|
||||||
});
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
{ inputs, ...}:
|
|
||||||
{
|
|
||||||
nose = import ./nose.nix;
|
|
||||||
llama-cpp = import ./llama-cpp.nix { inherit inputs; };
|
|
||||||
printrun = import ./printrun.nix { inherit inputs; };
|
|
||||||
citrix = import ./citrix.nix;
|
|
||||||
shadps4 = import ./shadps4.nix;
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{ inputs, ... }:
|
|
||||||
final: prev: {
|
|
||||||
llama-cpp = prev.llama-cpp.override { rocmSupport = true; };
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
_: prev: {
|
|
||||||
python312 = prev.python312.override { packageOverrides = _: pysuper: { nose = pysuper.pynose; }; };
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{ inputs, ... }:
|
|
||||||
let
|
|
||||||
system = "x86_64-linux";
|
|
||||||
pkgs = inputs.nixpkgs-unstable.legacyPackages.${system};
|
|
||||||
in
|
|
||||||
final: prev: {
|
|
||||||
printrun = prev.printrun.overrideAttrs ( finalAttrs: previousAttrs: {
|
|
||||||
propagatedBuildInputs = previousAttrs.propagatedBuildInputs ++ [ pkgs.python312Packages.platformdirs ];
|
|
||||||
});
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
final: prev: {
|
|
||||||
shadps4 = prev.shadps4.overrideAttrs (old: {
|
|
||||||
version = "0.6.0";
|
|
||||||
|
|
||||||
src = prev.fetchFromGitHub {
|
|
||||||
owner = "shadps4-emu";
|
|
||||||
repo = "shadps4";
|
|
||||||
rev = "15d10e47ea272b1b4c8bf97f2b3bbb406d34b213";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
hash = "sha256-ksIKmijWcRMhCDEi/dodZHiEoIO3CB0BkGn698J7jxI=";
|
|
||||||
};
|
|
||||||
|
|
||||||
patches = [];
|
|
||||||
});
|
|
||||||
}
|
|
||||||
@@ -1,168 +0,0 @@
|
|||||||
{ stdenv
|
|
||||||
, fetchFromGitHub
|
|
||||||
, libgcc
|
|
||||||
, meson
|
|
||||||
, pkg-config
|
|
||||||
, ninja
|
|
||||||
, xorg
|
|
||||||
, libdrm
|
|
||||||
, libei
|
|
||||||
, vulkan-loader
|
|
||||||
, vulkan-headers
|
|
||||||
, wayland
|
|
||||||
, wayland-protocols
|
|
||||||
, libxkbcommon
|
|
||||||
, glm
|
|
||||||
, gbenchmark
|
|
||||||
, libcap
|
|
||||||
, libavif
|
|
||||||
, SDL2
|
|
||||||
, pipewire
|
|
||||||
, pixman
|
|
||||||
, libinput
|
|
||||||
, glslang
|
|
||||||
, hwdata
|
|
||||||
, openvr
|
|
||||||
, stb
|
|
||||||
, wlroots
|
|
||||||
, libliftoff
|
|
||||||
, libdecor
|
|
||||||
, libdisplay-info
|
|
||||||
, lib
|
|
||||||
, makeBinaryWrapper
|
|
||||||
, patchelfUnstable
|
|
||||||
, nix-update-script
|
|
||||||
, enableExecutable ? true
|
|
||||||
, enableWsi ? true
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
joshShaders = fetchFromGitHub {
|
|
||||||
owner = "Joshua-Ashton";
|
|
||||||
repo = "GamescopeShaders";
|
|
||||||
rev = "v0.1";
|
|
||||||
hash = "sha256-gR1AeAHV/Kn4ntiEDUSPxASLMFusV6hgSGrTbMCBUZA=";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
|
||||||
pname = "gamescope";
|
|
||||||
version = "3.14.16";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "ValveSoftware";
|
|
||||||
repo = "gamescope";
|
|
||||||
rev = "420eb91387a484fd7b1ea71449091f0480d9e538";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
hash = "sha256-XcefR0wiDHQY7wMX+LQTEntffi2RdMW8m2HNQMz035A=";
|
|
||||||
};
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
# Unvendor dependencies
|
|
||||||
./use-pkgconfig.patch
|
|
||||||
|
|
||||||
# Make it look for shaders in the right place
|
|
||||||
./shaders-path.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
# We can't substitute the patch itself because substituteAll is itself a derivation,
|
|
||||||
# so `placeholder "out"` ends up pointing to the wrong place
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace src/reshade_effect_manager.cpp --replace "@out@" "$out"
|
|
||||||
'';
|
|
||||||
|
|
||||||
|
|
||||||
mesonFlags = [
|
|
||||||
(lib.mesonBool "enable_gamescope" enableExecutable)
|
|
||||||
(lib.mesonBool "enable_gamescope_wsi_layer" enableWsi)
|
|
||||||
"-Dc_args=-fsanitize-recover=address"
|
|
||||||
"-Dc_link_args=-fsanitize-recover=address"
|
|
||||||
"-Dcpp_args=-fsanitize-recover=address"
|
|
||||||
"-Dcpp_link_args=-fsanitize-recover=address"
|
|
||||||
"--buildtype=debugoptimized"
|
|
||||||
"-Db_sanitize=address"
|
|
||||||
];
|
|
||||||
|
|
||||||
# don't install vendored vkroots etc
|
|
||||||
mesonInstallFlags = ["--skip-subprojects"];
|
|
||||||
|
|
||||||
strictDeps = true;
|
|
||||||
dontStrip = true;
|
|
||||||
|
|
||||||
depsBuildBuild = [
|
|
||||||
pkg-config
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
meson
|
|
||||||
pkg-config
|
|
||||||
ninja
|
|
||||||
] ++ lib.optionals enableExecutable [
|
|
||||||
makeBinaryWrapper
|
|
||||||
glslang
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
pipewire
|
|
||||||
hwdata
|
|
||||||
xorg.libX11
|
|
||||||
wayland
|
|
||||||
wayland-protocols
|
|
||||||
vulkan-loader
|
|
||||||
openvr
|
|
||||||
glm
|
|
||||||
] ++ lib.optionals enableWsi [
|
|
||||||
vulkan-headers
|
|
||||||
] ++ lib.optionals enableExecutable (wlroots.buildInputs ++ [ # gamescope uses a custom wlroots branch
|
|
||||||
xorg.libXcomposite
|
|
||||||
xorg.libXcursor
|
|
||||||
xorg.libXdamage
|
|
||||||
xorg.libXext
|
|
||||||
xorg.libXi
|
|
||||||
xorg.libXmu
|
|
||||||
xorg.libXrender
|
|
||||||
xorg.libXres
|
|
||||||
xorg.libXtst
|
|
||||||
xorg.libXxf86vm
|
|
||||||
libavif
|
|
||||||
libdrm
|
|
||||||
libei
|
|
||||||
libliftoff
|
|
||||||
SDL2
|
|
||||||
libdecor
|
|
||||||
libinput
|
|
||||||
libxkbcommon
|
|
||||||
gbenchmark
|
|
||||||
pixman
|
|
||||||
libcap
|
|
||||||
stb
|
|
||||||
libdisplay-info
|
|
||||||
]);
|
|
||||||
|
|
||||||
postInstall = lib.optionalString enableExecutable ''
|
|
||||||
# using patchelf unstable because the stable version corrupts the binary
|
|
||||||
${lib.getExe patchelfUnstable} $out/bin/gamescope \
|
|
||||||
--add-rpath ${vulkan-loader}/lib \
|
|
||||||
--add-needed ${libgcc.lib}/lib/libasan.so.8 \
|
|
||||||
--add-needed libvulkan.so.1
|
|
||||||
|
|
||||||
# --debug-layers flag expects these in the path
|
|
||||||
wrapProgram "$out/bin/gamescope" \
|
|
||||||
--prefix PATH : ${with xorg; lib.makeBinPath [xprop xwininfo]} \
|
|
||||||
--set ASAN_OPTIONS "halt_on_error=false" \
|
|
||||||
--set LD_PRELOAD "${libgcc.lib}/lib/libasan.so.8"
|
|
||||||
|
|
||||||
# Install ReShade shaders
|
|
||||||
mkdir -p $out/share/gamescope/reshade
|
|
||||||
cp -r ${joshShaders}/* $out/share/gamescope/reshade/
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru.updateScript = nix-update-script {};
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "SteamOS session compositing window manager";
|
|
||||||
homepage = "https://github.com/ValveSoftware/gamescope";
|
|
||||||
license = licenses.bsd2;
|
|
||||||
maintainers = with maintainers; [ nrdxp pedrohlc Scrumplex zhaofengli k900 ];
|
|
||||||
platforms = platforms.linux;
|
|
||||||
mainProgram = "gamescope";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
diff --git a/src/reshade_effect_manager.cpp b/src/reshade_effect_manager.cpp
|
|
||||||
index 3597ca1..de45250 100644
|
|
||||||
--- a/src/reshade_effect_manager.cpp
|
|
||||||
+++ b/src/reshade_effect_manager.cpp
|
|
||||||
@@ -34,7 +34,7 @@ static std::string GetLocalUsrDir()
|
|
||||||
|
|
||||||
static std::string GetUsrDir()
|
|
||||||
{
|
|
||||||
- return "/usr";
|
|
||||||
+ return "@out@";
|
|
||||||
}
|
|
||||||
|
|
||||||
static LogScope reshade_log("gamescope_reshade");
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
--- a/meson.build
|
|
||||||
+++ b/meson.build
|
|
||||||
@@ -6,7 +6,6 @@ project(
|
|
||||||
default_options: [
|
|
||||||
'cpp_std=c++20',
|
|
||||||
'warning_level=2',
|
|
||||||
- 'force_fallback_for=wlroots,libliftoff,vkroots',
|
|
||||||
],
|
|
||||||
)
|
|
||||||
@@ -1,157 +0,0 @@
|
|||||||
{ stdenv
|
|
||||||
, fetchFromGitHub
|
|
||||||
, meson
|
|
||||||
, pkg-config
|
|
||||||
, ninja
|
|
||||||
, xorg
|
|
||||||
, libdrm
|
|
||||||
, libei
|
|
||||||
, vulkan-loader
|
|
||||||
, vulkan-headers
|
|
||||||
, wayland
|
|
||||||
, wayland-protocols
|
|
||||||
, libxkbcommon
|
|
||||||
, glm
|
|
||||||
, gbenchmark
|
|
||||||
, libcap
|
|
||||||
, libavif
|
|
||||||
, SDL2
|
|
||||||
, pipewire
|
|
||||||
, pixman
|
|
||||||
, libinput
|
|
||||||
, glslang
|
|
||||||
, hwdata
|
|
||||||
, openvr
|
|
||||||
, stb
|
|
||||||
, wlroots
|
|
||||||
, libliftoff
|
|
||||||
, libdecor
|
|
||||||
, libdisplay-info
|
|
||||||
, lib
|
|
||||||
, makeBinaryWrapper
|
|
||||||
, patchelfUnstable
|
|
||||||
, nix-update-script
|
|
||||||
, enableExecutable ? true
|
|
||||||
, enableWsi ? true
|
|
||||||
}:
|
|
||||||
let
|
|
||||||
joshShaders = fetchFromGitHub {
|
|
||||||
owner = "Joshua-Ashton";
|
|
||||||
repo = "GamescopeShaders";
|
|
||||||
rev = "v0.1";
|
|
||||||
hash = "sha256-gR1AeAHV/Kn4ntiEDUSPxASLMFusV6hgSGrTbMCBUZA=";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation (finalAttrs: {
|
|
||||||
pname = "gamescope";
|
|
||||||
version = "3.14.16";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "ValveSoftware";
|
|
||||||
repo = "gamescope";
|
|
||||||
rev = "d0d23c4c3010c81add1bd90cbe478ce4a386e28d";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
hash = "sha256-Ym1kl9naAm1MGlxCk32ssvfiOlstHiZPy7Ga8EZegus=";
|
|
||||||
};
|
|
||||||
|
|
||||||
patches = [
|
|
||||||
# Unvendor dependencies
|
|
||||||
./use-pkgconfig.patch
|
|
||||||
|
|
||||||
# Make it look for shaders in the right place
|
|
||||||
./shaders-path.patch
|
|
||||||
];
|
|
||||||
|
|
||||||
# We can't substitute the patch itself because substituteAll is itself a derivation,
|
|
||||||
# so `placeholder "out"` ends up pointing to the wrong place
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace src/reshade_effect_manager.cpp --replace "@out@" "$out"
|
|
||||||
'';
|
|
||||||
|
|
||||||
|
|
||||||
mesonFlags = [
|
|
||||||
(lib.mesonBool "enable_gamescope" enableExecutable)
|
|
||||||
(lib.mesonBool "enable_gamescope_wsi_layer" enableWsi)
|
|
||||||
];
|
|
||||||
|
|
||||||
# don't install vendored vkroots etc
|
|
||||||
mesonInstallFlags = ["--skip-subprojects"];
|
|
||||||
|
|
||||||
strictDeps = true;
|
|
||||||
|
|
||||||
depsBuildBuild = [
|
|
||||||
pkg-config
|
|
||||||
];
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
meson
|
|
||||||
pkg-config
|
|
||||||
ninja
|
|
||||||
] ++ lib.optionals enableExecutable [
|
|
||||||
makeBinaryWrapper
|
|
||||||
glslang
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
pipewire
|
|
||||||
hwdata
|
|
||||||
xorg.libX11
|
|
||||||
wayland
|
|
||||||
wayland-protocols
|
|
||||||
vulkan-loader
|
|
||||||
openvr
|
|
||||||
glm
|
|
||||||
] ++ lib.optionals enableWsi [
|
|
||||||
vulkan-headers
|
|
||||||
] ++ lib.optionals enableExecutable (wlroots.buildInputs ++ [ # gamescope uses a custom wlroots branch
|
|
||||||
xorg.libXcomposite
|
|
||||||
xorg.libXcursor
|
|
||||||
xorg.libXdamage
|
|
||||||
xorg.libXext
|
|
||||||
xorg.libXi
|
|
||||||
xorg.libXmu
|
|
||||||
xorg.libXrender
|
|
||||||
xorg.libXres
|
|
||||||
xorg.libXtst
|
|
||||||
xorg.libXxf86vm
|
|
||||||
libavif
|
|
||||||
libdrm
|
|
||||||
libei
|
|
||||||
libliftoff
|
|
||||||
SDL2
|
|
||||||
libdecor
|
|
||||||
libinput
|
|
||||||
libxkbcommon
|
|
||||||
gbenchmark
|
|
||||||
pixman
|
|
||||||
libcap
|
|
||||||
stb
|
|
||||||
libdisplay-info
|
|
||||||
]);
|
|
||||||
|
|
||||||
postInstall = lib.optionalString enableExecutable ''
|
|
||||||
# using patchelf unstable because the stable version corrupts the binary
|
|
||||||
${lib.getExe patchelfUnstable} $out/bin/gamescope \
|
|
||||||
--add-rpath ${vulkan-loader}/lib \
|
|
||||||
--add-needed libvulkan.so.1 \
|
|
||||||
|
|
||||||
# --debug-layers flag expects these in the path
|
|
||||||
wrapProgram "$out/bin/gamescope" \
|
|
||||||
--prefix PATH : ${with xorg; lib.makeBinPath [xprop xwininfo]}
|
|
||||||
|
|
||||||
# Install ReShade shaders
|
|
||||||
mkdir -p $out/share/gamescope/reshade
|
|
||||||
cp -r ${joshShaders}/* $out/share/gamescope/reshade/
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru.updateScript = nix-update-script {};
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "SteamOS session compositing window manager";
|
|
||||||
homepage = "https://github.com/ValveSoftware/gamescope";
|
|
||||||
license = licenses.bsd2;
|
|
||||||
maintainers = with maintainers; [ nrdxp pedrohlc Scrumplex zhaofengli k900 ];
|
|
||||||
platforms = platforms.linux;
|
|
||||||
mainProgram = "gamescope";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
diff --git a/src/reshade_effect_manager.cpp b/src/reshade_effect_manager.cpp
|
|
||||||
index 3597ca1..de45250 100644
|
|
||||||
--- a/src/reshade_effect_manager.cpp
|
|
||||||
+++ b/src/reshade_effect_manager.cpp
|
|
||||||
@@ -34,7 +34,7 @@ static std::string GetLocalUsrDir()
|
|
||||||
|
|
||||||
static std::string GetUsrDir()
|
|
||||||
{
|
|
||||||
- return "/usr";
|
|
||||||
+ return "@out@";
|
|
||||||
}
|
|
||||||
|
|
||||||
static LogScope reshade_log("gamescope_reshade");
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
--- a/meson.build
|
|
||||||
+++ b/meson.build
|
|
||||||
@@ -6,7 +6,6 @@ project(
|
|
||||||
default_options: [
|
|
||||||
'cpp_std=c++20',
|
|
||||||
'warning_level=2',
|
|
||||||
- 'force_fallback_for=wlroots,libliftoff,vkroots',
|
|
||||||
],
|
|
||||||
)
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, stdenv
|
|
||||||
, fetchFromGitHub
|
|
||||||
, cmake
|
|
||||||
, pkg-config
|
|
||||||
, tesseract4
|
|
||||||
, leptonica
|
|
||||||
, qt5
|
|
||||||
}:
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "gazou";
|
|
||||||
version = "0.3.3";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "kamui-fin";
|
|
||||||
repo = "gazou";
|
|
||||||
rev = "7dd023fc78566f2911250f4b8550b0a33a943bb3";
|
|
||||||
hash = "sha256-6auc5i6b7r4knzen4TCq2mTdbiv+qCD0mWE3LNyh2J4=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
|
||||||
buildInputs = [
|
|
||||||
pkg-config
|
|
||||||
tesseract4
|
|
||||||
leptonica
|
|
||||||
qt5.qtbase
|
|
||||||
qt5.qtdeclarative
|
|
||||||
];
|
|
||||||
|
|
||||||
cmakeFlags = [
|
|
||||||
"-DGUI=OFF"
|
|
||||||
];
|
|
||||||
|
|
||||||
dontWrapQtApps = true;
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, stdenv
|
|
||||||
, jdk
|
|
||||||
, jre
|
|
||||||
, ant
|
|
||||||
, jogl
|
|
||||||
, libGL
|
|
||||||
, fetchFromGitHub
|
|
||||||
, makeDesktopItem
|
|
||||||
, copyDesktopItems
|
|
||||||
, stripJavaArchivesHook
|
|
||||||
, makeWrapper
|
|
||||||
, ...
|
|
||||||
}:
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
name = "JHelioviewer";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "Helioviewer-Project";
|
|
||||||
repo = "JHelioviewer-SWHV";
|
|
||||||
rev = "c1affb8a820fb2785d7598a59dad3691bf42298c";
|
|
||||||
hash = "sha256-CGpWPKsGQsX+3aaqws351hy2xCST/x+Md+dRBov1vog=";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
jdk
|
|
||||||
ant
|
|
||||||
stripJavaArchivesHook
|
|
||||||
makeWrapper
|
|
||||||
copyDesktopItems
|
|
||||||
];
|
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
runHook preBuild
|
|
||||||
ant
|
|
||||||
runHook postBuild
|
|
||||||
'';
|
|
||||||
|
|
||||||
desktopItems = [
|
|
||||||
(makeDesktopItem {
|
|
||||||
name = "jhelioviewer";
|
|
||||||
desktopName = "JHelioviewer";
|
|
||||||
exec = "jhelioviewer";
|
|
||||||
comment = "A visualization tool for solar physics data based on the JPEG 2000 image compression standard, and part of the open source ESA/NASA Helioviewer Project";
|
|
||||||
icon = "hvLogo";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
mkdir -p $out/share/java/
|
|
||||||
mkdir -p $out/share/java/lib
|
|
||||||
|
|
||||||
install -Dm644 JHelioviewer.jar $out/share/java/
|
|
||||||
|
|
||||||
cp -rv lib/* $out/share/java/lib/
|
|
||||||
|
|
||||||
rm $out/share/java/lib/jogl/*.jar
|
|
||||||
cp -v ${jogl}/share/java/jogl*.jar ${jogl}/share/java/glue*.jar $out/share/java/lib/jogl
|
|
||||||
|
|
||||||
mkdir $out/bin
|
|
||||||
makeWrapper ${jre}/bin/java $out/bin/jhelioviewer \
|
|
||||||
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libGL ]} \
|
|
||||||
--add-flags "-cp $out/share/java/JHelioviewer.jar" \
|
|
||||||
--add-flags "--add-exports java.desktop/sun.awt=ALL-UNNAMED" \
|
|
||||||
--add-flags "--add-exports java.desktop/sun.swing=ALL-UNNAMED" \
|
|
||||||
--add-flags "org.helioviewer.jhv.JHelioviewer"
|
|
||||||
|
|
||||||
mkdir -p $out/share/icons
|
|
||||||
|
|
||||||
cp -v docs/hvLogo.png $out/share/icons/
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
@@ -11,8 +11,7 @@ rustPlatform.buildRustPackage {
|
|||||||
hash = "sha256-exMmqOkDKuyAEdda8gG/uF3+tnQzhJnOJK+sEtZbsZc=";
|
hash = "sha256-exMmqOkDKuyAEdda8gG/uF3+tnQzhJnOJK+sEtZbsZc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
useFetchCargoVendor = true;
|
cargoHash = "sha256-z3apcltBKNovwo+yOHxvzn53PPefr2lEzkGst25fGsM=";
|
||||||
cargoHash = "sha256-4x9kEBnYPhhYej0mNmV7jibw6sH8SxVau9tIkIVTen8=";
|
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Smol program to read in relevant desktop files and print them in a kickoff compatible format";
|
description = "Smol program to read in relevant desktop files and print them in a kickoff compatible format";
|
||||||
|
|||||||
@@ -1,109 +0,0 @@
|
|||||||
{ lib
|
|
||||||
, stdenv
|
|
||||||
, fetchFromGitHub
|
|
||||||
, llvmPackages_18
|
|
||||||
, cmake
|
|
||||||
, pkg-config
|
|
||||||
, git
|
|
||||||
, qt6
|
|
||||||
, alsa-lib
|
|
||||||
, libpulseaudio
|
|
||||||
, openal
|
|
||||||
, openssl
|
|
||||||
, zlib
|
|
||||||
, libedit
|
|
||||||
, udev
|
|
||||||
, libevdev
|
|
||||||
, SDL2
|
|
||||||
, jack2
|
|
||||||
, sndio
|
|
||||||
, vulkan-headers
|
|
||||||
, vulkan-utility-libraries
|
|
||||||
, vulkan-tools
|
|
||||||
, ffmpeg
|
|
||||||
, fmt
|
|
||||||
, glslang
|
|
||||||
, libxkbcommon
|
|
||||||
, wayland
|
|
||||||
, xorg
|
|
||||||
, sdl3
|
|
||||||
, stb
|
|
||||||
, wayland-protocols
|
|
||||||
, libpng
|
|
||||||
}:
|
|
||||||
stdenv.mkDerivation {
|
|
||||||
pname = "shadps4";
|
|
||||||
version = "0.6.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "shadps4-emu";
|
|
||||||
repo = "shadPS4";
|
|
||||||
rev = "9061028ce588037fa6f467cd2c0740d10ed725ed";
|
|
||||||
hash = "sha256-XhfJx1sDFz+RwhwcBA8W6WV6y1rDDvpyQe3v3NaSu2I=";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [
|
|
||||||
llvmPackages_18.clang
|
|
||||||
cmake
|
|
||||||
pkg-config
|
|
||||||
git
|
|
||||||
qt6.wrapQtAppsHook
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
alsa-lib
|
|
||||||
libpulseaudio
|
|
||||||
openal
|
|
||||||
openssl
|
|
||||||
zlib
|
|
||||||
libedit
|
|
||||||
udev
|
|
||||||
libevdev
|
|
||||||
SDL2
|
|
||||||
jack2
|
|
||||||
sndio
|
|
||||||
qt6.qtbase
|
|
||||||
qt6.qttools
|
|
||||||
qt6.qtmultimedia
|
|
||||||
|
|
||||||
vulkan-headers
|
|
||||||
vulkan-utility-libraries
|
|
||||||
vulkan-tools
|
|
||||||
|
|
||||||
ffmpeg
|
|
||||||
fmt
|
|
||||||
glslang
|
|
||||||
libxkbcommon
|
|
||||||
wayland
|
|
||||||
xorg.libxcb
|
|
||||||
xorg.xcbutil
|
|
||||||
xorg.xcbutilkeysyms
|
|
||||||
xorg.xcbutilwm
|
|
||||||
sdl3
|
|
||||||
stb
|
|
||||||
qt6.qtwayland
|
|
||||||
wayland-protocols
|
|
||||||
libpng
|
|
||||||
];
|
|
||||||
|
|
||||||
cmakeFlags = [
|
|
||||||
(lib.cmakeBool "ENABLE_QT_GUI" true)
|
|
||||||
(lib.cmakeBool "ENABLE_UPDATER" false)
|
|
||||||
];
|
|
||||||
|
|
||||||
cmakeBuildType = "RelWithDebugInfo";
|
|
||||||
dontStrip = true;
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
runHook preInstall
|
|
||||||
|
|
||||||
install -D -t $out/bin shadps4
|
|
||||||
install -Dm644 $src/.github/shadps4.png $out/share/icons/hicolor/512x512/apps/net.shadps4.shadPS4.png
|
|
||||||
install -Dm644 -t $out/share/applications $src/dist/net.shadps4.shadPS4.desktop
|
|
||||||
install -Dm644 -t $out/share/metainfo $src/dist/net.shadps4.shadPS4.metainfo.xml
|
|
||||||
|
|
||||||
runHook postInstall
|
|
||||||
'';
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
wireguard:
|
|
||||||
private: ENC[AES256_GCM,data:Vii9We3fJBFCQNfek+fKqzy4jor2mhHz7KZhoWS9fuBbccz/DHPOnpzRhJQ=,iv:eDorsjazLZjIYsL+AP7YHoBY03ByywtmuRAG0KFonu0=,tag:z7b8NiGOgz0CrhFNalK4Qw==,type:str]
|
|
||||||
preshared: ENC[AES256_GCM,data:BK3CwQ9tZ0gqErPfOt896yH3K+7xDx6Vr+Xd0JMB+RYdugsGYluhldNM3aM=,iv:o9RhmlSCVwHPUi+JRNQF9bTACOwFaKmshfiD25C5QW8=,tag:DO9a2D2zY5rFQWHIR0PsfA==,type:str]
|
|
||||||
borgbase:
|
|
||||||
nix-alpheratz: ENC[AES256_GCM,data:anxC2Oyp4nungjxylaNqtEW7CcA=,iv:Gw6XvUWy9EAivZkELhSkx9YPgPDTY2kjZZhk9mF0iCM=,tag:/2ud63VKIABzLxjQsrpPnA==,type:str]
|
|
||||||
sops:
|
|
||||||
kms: []
|
|
||||||
gcp_kms: []
|
|
||||||
azure_kv: []
|
|
||||||
hc_vault: []
|
|
||||||
age:
|
|
||||||
- recipient: age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuQzBUM0pXdkZUT1R4ekQv
|
|
||||||
YXlJZXA0OGV4SmwxOGxmY3Z3SjRSSE1UK2w4CnpGVkZ5anYvR0NHNEpBbDM3aURN
|
|
||||||
NVA2WmxmZUI3eWR4Tkd6MkxLOTJ5NDgKLS0tIGYrVTZMbUJia0F4ZWMwMXlhTkJz
|
|
||||||
MHdCcVpZaGtLbkpScDhLaGxZY2l3dEkKy1qr0l1eqqIQvsJm56ABIsh0XfFE5O5O
|
|
||||||
H0kLLggfl5AozBWrSjjiOnCf22tue5SzAxS70OO6Dz3y5sYCEF04Ag==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
- recipient: age1cla0k3yffcelphkrmgz5upc0chgtdef25ne833jeqtapceux59rqkmhxf7
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxRCtPaUc4RVZRYW5tM0Ex
|
|
||||||
SGRRZ2kvKzNSdUxFRGtGRXUzWDJZVW9aNkZBCmtpOVIyMnBIaFVjV0xxdGxnNGtj
|
|
||||||
aVNpQzdDMHozL25sZ09Hc09BMVBUdEUKLS0tIE9PWm95RzZndnRwYXNoWExQVXVs
|
|
||||||
R3F6M3dsdXVxSk4va3ptS1JNQ1JSZ2sK7WtQj148lDKG36T6oIL2ASrUY9Q9QwL4
|
|
||||||
FiVkiNAvZPddFRYFSg9UhM92mTWLKay3ak+8IzojfsJmy7Aw9aavSA==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2024-11-20T18:20:08Z"
|
|
||||||
mac: ENC[AES256_GCM,data:bq1HJC/yvekeqQEjvHZHynlcwwwYY9xRIK6Wp/BGPG3gcN4BaFG8iEgGjQjLIcgi7szsnUnozLYBKe/Na+YmNFS4mLgfn9PxDrMjr3NymO764j2QzXKg4hDnt3qA1HpwZJLZY0l7Mfe6FSovl4X/7x6MWLMDLb1EYys0aBaLnlc=,iv:y5NecMaRVyCWjn3URpJG4EnRkcV2dpitJpzJqEyQbAM=,tag:HVeS/v703EYcro/2cMtb8A==,type:str]
|
|
||||||
pgp: []
|
|
||||||
unencrypted_suffix: _unencrypted
|
|
||||||
version: 3.9.1
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
{
|
|
||||||
"data": "ENC[AES256_GCM,data:tB3+8lTzhNTpgd22u8pbE/0LYGIQfWWQiCXovz3RH7vXNcuOEHNAYeKB3IbEUmARXKf3aAAcnrTztqaaKyd9uBdxSOHzFyy0egk0+kR9Af3StG2uAgCuGqGjlOor+W2vS6wRXoWB+vwYizMxBs2rB8CwqFLe+yC++o5XkE45iyhhCXKZSLFBP51p47topL9iRMqaXnRiTrHh/ZsWKGz1Tu2yg+Kq4xNnpGrggW16JiAR,iv:to55g3FssWEKE9oOTOvKbtUdqHhrLkmhuqqi3aM5Zt4=,tag:MnyiNyRoG9hesasW3OHMhQ==,type:str]",
|
|
||||||
"sops": {
|
|
||||||
"kms": null,
|
|
||||||
"gcp_kms": null,
|
|
||||||
"azure_kv": null,
|
|
||||||
"hc_vault": null,
|
|
||||||
"age": [
|
|
||||||
{
|
|
||||||
"recipient": "age1079fszreaakwf6xnwu9kra8xcsp4e8q8ed3y99yrhjnz9n3t9pnsj05m97",
|
|
||||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIZjN3WmJvNDhoT0RIVDJr\nWDlpMFZLdEZ0RG44UXRiazIrV0ZZTE1GdnlNCjhqdko5TFI2NlI0SVAvR25vS3h3\nSHZDZUxVeU5VOGJvRGhFWUtIVzNnTkkKLS0tIFI3NGp1c2s4b3NrZ0dRbGlwd0Ro\ndlE3WGZaTHdoWVRjNDMxVGJpRE1vUTgK/Q4f3VS0IkapmsFXgt1YV+fY3eCezDte\nM3XS/hQndEIRmy5ziKQMMR/uADh0Deqs3tYZ/k3FJr+FAT7DWSVOxA==\n-----END AGE ENCRYPTED FILE-----\n"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"recipient": "age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr",
|
|
||||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBJUDVWTUtsVTh4dEUyTlJ6\nVDVuSXBFZW9PNmxUWkFhZnBqRzhvbERBWVJnCmo4OFpGWi9RQTdibVc2blQ0aEN0\nR2cwQUlva1RxdS94T0ZnL25BK2FBbncKLS0tIE90MTJ1QXBkUjlyQUJWRXdSNGly\nYmw4dTBYS3ZtOS94K1dtd29HRjZyTncK8dQqSDBTjKGLQH7FLXBzAMUz4yK5mHgB\n/NoftP1+mjQH0aE32rx+iykSy64wSiORIJ+9ZChgCm5dobBuakR6Gg==\n-----END AGE ENCRYPTED FILE-----\n"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"recipient": "age1rxqyz6watg05r3rzlme7grpgfgezhlt535gdl7psqys2ec8eegmqchfk4d",
|
|
||||||
"enc": "-----BEGIN AGE ENCRYPTED FILE-----\nYWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsMkhrK0ptRjFNMDZaV0RR\nd1MzNzJhbTczb1RaQm4wdW5VNGZrTTVMOVJVCmdzdEcxVytRY1h5ek9GOFA0VUNn\nMUk5UHZEQWZKaVhkN3ZGeDJkbnRCbm8KLS0tIHJXSllWRVVIakNhSmFTMzA3cXk4\nUUFFNWp5Q1FyaFBFUnpDR0JKSHZQVVkKkaQrBjAYubsHVx2g9C+87sgY06ioXdb2\nwh4pyAwOT/0hKHR4sRnRFiW7yuTIZ8R9cWXlVUB53+LMeio93kj15g==\n-----END AGE ENCRYPTED FILE-----\n"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"lastmodified": "2024-08-02T17:52:14Z",
|
|
||||||
"mac": "ENC[AES256_GCM,data:aBhijdYLGnHlXzeT3J77RkhPgqBEYCDN4nINtnq7EA/AJIamdcbM1bW/PZBkeJ/1yft/lIzPgOsSnAk+vrc8FniOL6vmPaRr6aaPlgzZVHJw0ZPgRNANzwjEXZbtNdZn7tFPjEAu06B1oQFzfIXUYvj6Q3sPLzZ29lPl4g3BY6o=,iv:aL/TFzqw1/ArH88GGj68fTIPrUOXdOxF1XbcDDMFvKo=,tag:bjtutqs7QyqNdCI5/s9sUQ==,type:str]",
|
|
||||||
"pgp": null,
|
|
||||||
"unencrypted_suffix": "_unencrypted",
|
|
||||||
"version": "3.9.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
mc-arcadia:
|
|
||||||
repo_password: ENC[AES256_GCM,data:SPP/RmwxAeeyERrMjO7vEqMd/SY=,iv:/U4sbPogBeqJ4vli2MmMb4H4BjMPFO+Fe/uRtyltvsM=,tag:i06a7yIDmhYJt3ARfDaE4w==,type:str]
|
|
||||||
tandoor:
|
|
||||||
secret_key: ENC[AES256_GCM,data:0zhzBw+99NZmWDhnhe/VNAuiY30QJVaij3+PabzzSvWExyHktvqjfHrEzNAU8i+GmmA=,iv:NwZrE4tFpylnVrQiL1yNTTS8moZuEvcO8HCTP+j7COE=,tag:UegszyE5xRfIRn62kTFR8Q==,type:str]
|
|
||||||
db_password: ENC[AES256_GCM,data:lkYU5lFHDo+4/6uVuV6VZ6/XQHQ=,iv:1Htc76J25m9iW6YCosEtSGT4nfYsfywbYVoAf7XXrDI=,tag:RdymUdMjiQqRPutTsQNGaw==,type:str]
|
|
||||||
mc-dh:
|
|
||||||
repo_password: ENC[AES256_GCM,data:iD1isjDUlJixMPaiE+bDhhKgzLM=,iv:pf9q2M8wRh7B0quYaezdZ81B/8JtsN7jFj8/00YXzcQ=,tag:f5/KHzsc+B21sF+dE8I2Nw==,type:str]
|
|
||||||
caddy:
|
|
||||||
porkbun_api_key: ENC[AES256_GCM,data:1ILVkhIks0MqMWXsxIol8Nt2OAbNmDQXd49DUhEyIx6jLpzZKe98ha9cZAl0rNmQHcIQjpg4KptXw07l11KXWZf5oZA=,iv:0q/ZLzAGsOsTvJH9Wa7lR+uC/t97HWv6+SdTCRUNNcM=,tag:TzdrBPfV/e0njCSbofR29Q==,type:str]
|
|
||||||
porkbun_secret_key: ENC[AES256_GCM,data:v7vFKRcZ2JqjNA1vQyROmM9LGLGclzraZB9sqUVfK3iaDJfVlLbAyOxv8TW15navjWRTn6WjxH1iwPlB6b4WWHtuUWs=,iv:4d1K8tTZ/9Gs7nOKjCwcQB0M9E68RFppxPkOQRRSwa8=,tag:6J2pxXP3yy5IK3rDiwTFIQ==,type:str]
|
|
||||||
backup:
|
|
||||||
repo_password: ENC[AES256_GCM,data:v7WGvvpUonAAfCCGqDs+EKUH6Lk=,iv:jE7lainNWLlG+KZspwxW/I/1PXKFtkUWUPDaTK3Rgj0=,tag:dA2ccAXUNC1up4DX4iF7HQ==,type:str]
|
|
||||||
sops:
|
|
||||||
kms: []
|
|
||||||
gcp_kms: []
|
|
||||||
azure_kv: []
|
|
||||||
hc_vault: []
|
|
||||||
age:
|
|
||||||
- recipient: age1079fszreaakwf6xnwu9kra8xcsp4e8q8ed3y99yrhjnz9n3t9pnsj05m97
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiblIrc1pIWVhESHNGZU00
|
|
||||||
aElkZ2ZSOFJGeGM1V2xjSUpyUWZsTDhmNENvCkFtWWh6Wk8xK2Nlb3hsQUE4Y1hQ
|
|
||||||
NVpwNk9yYTZHbVhXV0d3bktYTWxqRVEKLS0tIFFnTzU4L1RGWVFHc09RMkhaN3ky
|
|
||||||
ejlTdlIvRVVtRDYxcjYwZTFUSW4rY0EKIsobfykO/WXNb2zIIIdAKnGwIDVyLU9m
|
|
||||||
q6wF9O9Y8MQFCe237KWDtqSr8K9S4bI+S2GkO6+abMCCPMcTrcZ04Q==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
- recipient: age1gdtjn3jgvvvspa86q3lnklflnvyf3s75y2rw23l7nk7hwcsfpg7qkq7msr
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaVUkxWGIzTFdkVmRaWGFw
|
|
||||||
ZzU1TVU4ZUxhVU5wcmdnT0c5UlVaYU15QVF3ClVJc1Q5YmFadFkvS0NIQzF6NXdK
|
|
||||||
M0lhNzFyVkUwa1EyM3dMUXRHQkxGNG8KLS0tIFpUTEZRL1hTaTFZUEdLSE51YTlu
|
|
||||||
Y0N4bDJveTlPQjJhMERtbmlFUVlkMDQKX8JV+0FhyZKYUy2QpkHW9UZqDasLop3f
|
|
||||||
IA0qas8CN/O+VrnFVwKFrRdk4U/nHR2fb3mEsQ8rXmzsXPy2GfMD4A==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
- recipient: age1rxqyz6watg05r3rzlme7grpgfgezhlt535gdl7psqys2ec8eegmqchfk4d
|
|
||||||
enc: |
|
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzcXEwZEhsbytKVk8ybEg3
|
|
||||||
V0pmOFJ3RGxWcHFWYm16N1RzNUpIcjM3azI4CjIvQnlyWkxKNkdsUGFsTVl2elQ0
|
|
||||||
MFBVR2M5eEFVMW5EdGN5YTFjdjYzY1UKLS0tIEtPTFM0Q3ZsdTkzS1FrU0N5WFNL
|
|
||||||
eUxTaTJVRlpNNWZodE8yZXpWTlpCWVkKHtJFmHUSNfy46J1BJdOvIRjegQrTWdfH
|
|
||||||
KSbKbz7ezBOOPlrR7eDEx2FIjP4TVBRksYq+NYockmKVk+VGsc5pBQ==
|
|
||||||
-----END AGE ENCRYPTED FILE-----
|
|
||||||
lastmodified: "2025-02-02T03:11:38Z"
|
|
||||||
mac: ENC[AES256_GCM,data:Mr5WWzX4hl3SkljEuMy0cl+jgxA9iL4ONXxEmdfS320ucIBKeMWyrmgoO7LxRAT+iQ4kXKTW24yzzLH1flqYxiVvdGvaKisfao7GSkeuF+9YeM+xFev0aspxOK5p7/EYbvnE5cMM81VVhXm+gX9ywxh8r0eqG68SQK8FIP556TM=,iv:AsYcYrMdwo4zuY5G12P47P1537lydofIt/zuPQo/9Ls=,tag:EKs6kyofkiWuF+uqoQscWA==,type:str]
|
|
||||||
pgp: []
|
|
||||||
unencrypted_suffix: _unencrypted
|
|
||||||
version: 3.9.3
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user