A billion changes, but I'm finally on this new config!
This commit is contained in:
parent
8b12288df6
commit
c211604042
23
README.md
23
README.md
|
@ -28,3 +28,26 @@ Here's some things you might want to check out:
|
|||
|
||||
- My [neovim config](./dotfiles/neovim)
|
||||
- The [flake](./flake.nix) entrypoint for this repository
|
||||
|
||||
### Links to everything used here:
|
||||
|
||||
> Well, this does not include links to every plugin I used for every proram here, you can see more details in the respective configurations
|
||||
|
||||
- [nixos](http://nixos.org/) - nix based operating system
|
||||
- [home-manager](https://github.com/nix-community/home-manager) - manager user configuration using nix
|
||||
- [base16-nix](https://github.com/SenchoPens/base16.nix) - base16 module for nix
|
||||
- [Base16 templates](https://github.com/chriskempson/base16-templates-source) - list of base16 template themes
|
||||
- [Catpuccin](https://github.com/catppuccin/catppuccin) - base16 theme I use
|
||||
- [Agenix](https://github.com/ryantm/agenix) & [homeage](https://github.com/jordanisaacs/homeage) - secret management
|
||||
- [Xmonad](https://xmonad.org/) - window manager
|
||||
- [Polybar](https://github.com/polybar/polybar) - desktop bar
|
||||
- [Rofi](https://github.com/davatorium/rofi) - program launcher
|
||||
- [Neovim](https://neovim.io/) - my editor
|
||||
- [Neovide](https://neovide.dev/index.html) - neovide gui client
|
||||
- [Vimclip](https://github.com/hrantzsch/vimclip) - vim anywhere!
|
||||
- [Tmux](https://github.com/tmux/tmux/wiki) - terminal multiplexer
|
||||
- [Alacritty](https://github.com/alacritty/alacritty) - terminal emulator
|
||||
- [Fish](https://fishshell.com/) - user friendly shell
|
||||
- [Starship](https://starship.rs/) - shell prompt
|
||||
- [Zathura](https://pwmt.org/projects/zathura/) - pdf viewer
|
||||
- [Ranger](https://github.com/ranger/ranger) - file manager
|
||||
|
|
|
@ -5,7 +5,7 @@ local M = {
|
|||
|
||||
function M.config()
|
||||
local catppuccin = require("catppuccin")
|
||||
vim.g.catppuccin_flavour = os.getenv("CATPPUCCIN_FLAVOUR")
|
||||
vim.g.catppuccin_flavour = os.getenv("CATPPUCCIN_FLAVOUR") or "latte"
|
||||
|
||||
catppuccin.setup({ transparent_background = false, integrations = { nvimtree = true } })
|
||||
|
||||
|
|
|
@ -12,6 +12,12 @@ return {
|
|||
cond = env.vscode.not_active(),
|
||||
},
|
||||
|
||||
{
|
||||
"Fymyte/rasi.vim",
|
||||
ft = "rasi",
|
||||
cond = env.vscode.not_active(),
|
||||
},
|
||||
|
||||
{
|
||||
"teal-language/vim-teal",
|
||||
ft = "teal",
|
||||
|
|
13
flake.nix
13
flake.nix
|
@ -85,6 +85,7 @@
|
|||
home-manager.extraSpecialArgs = specialArgs;
|
||||
home-manager.useUserPackages = true;
|
||||
}
|
||||
|
||||
./hosts/nixos/tethys
|
||||
];
|
||||
};
|
||||
|
@ -102,4 +103,16 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
|
||||
# {{{ Caching and whatnot
|
||||
nixConfig = {
|
||||
extra-substituters = [
|
||||
"https://nix-community.cachix.org" # I think I need this for neovim-nightly?
|
||||
];
|
||||
|
||||
extra-trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
];
|
||||
};
|
||||
# }}}
|
||||
}
|
||||
|
|
|
@ -23,5 +23,6 @@
|
|||
neofetch # Display system information
|
||||
unzip # For working with .zip files
|
||||
unrar # For extracting shit from rars
|
||||
sloc # Useless but fun line of code counter
|
||||
];
|
||||
}
|
||||
|
|
28
home/adrielus/features/desktop/common/alacritty.nix
Normal file
28
home/adrielus/features/desktop/common/alacritty.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
{ config, pkgs, ... }:
|
||||
let base16-alacritty = pkgs.fetchFromGitHub {
|
||||
owner = "aarowill";
|
||||
repo = "base16-alacritty";
|
||||
sha256 = "0zibl9kzazckkyzb6j0iabrl82r1kgwg8ndqpy7dz0kwmj42wfx0";
|
||||
rev = "914727e48ebf3eab1574e23ca0db0ecd0e5fe9d0";
|
||||
};
|
||||
in
|
||||
{
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
import = [ (config.scheme base16-alacritty) ];
|
||||
|
||||
window.decorations = "none";
|
||||
window.padding = {
|
||||
x = 4;
|
||||
y = 4;
|
||||
};
|
||||
|
||||
fonts.normal.family = config.fontProfiles.monospace.family;
|
||||
|
||||
env = { TERM = "xterm-256color"; };
|
||||
working_directory = "${config.home.homeDirectory}/Projects/";
|
||||
};
|
||||
};
|
||||
}
|
107
home/adrielus/features/desktop/common/firefox.nix
Normal file
107
home/adrielus/features/desktop/common/firefox.nix
Normal file
|
@ -0,0 +1,107 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
mkBasicSearchEngine = { aliases, url, param }: {
|
||||
urls = [{
|
||||
template = url;
|
||||
params = [
|
||||
{ name = param; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
|
||||
definedAliases = aliases;
|
||||
};
|
||||
|
||||
mkNixPackagesEngine = { aliases, type }:
|
||||
let basicEngine = mkBasicSearchEngine
|
||||
{
|
||||
aliases = aliases;
|
||||
url = "https://search.nixos.org/${type}";
|
||||
param = "query";
|
||||
};
|
||||
in
|
||||
basicEngine // {
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
};
|
||||
in
|
||||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
profiles.adrielus = {
|
||||
# Unique user id
|
||||
id = 0;
|
||||
|
||||
# Make this the default user
|
||||
isDefault = true;
|
||||
|
||||
# Forcefully replace the search configuration
|
||||
search.force = true;
|
||||
|
||||
# Set default search engine
|
||||
search.default = "Google";
|
||||
|
||||
# Specify custom search engines
|
||||
search.engines = {
|
||||
"Nix Packages" = mkNixPackagesEngine {
|
||||
aliases = [ "@np" "@nix-packages" ];
|
||||
type = "packages";
|
||||
};
|
||||
|
||||
"Nix options" = mkNixPackagesEngine {
|
||||
aliases = [ "@no" "@nix-options" ];
|
||||
type = "options";
|
||||
};
|
||||
|
||||
# Purescript packages
|
||||
"Pursuit" = mkBasicSearchEngine {
|
||||
url = "https://pursuit.purescript.org/search";
|
||||
param = "s";
|
||||
aliases = [ "@ps" "@pursuit" ];
|
||||
};
|
||||
|
||||
"Wikipedia" = mkBasicSearchEngine {
|
||||
url = "https://en.wikipedia.org/wiki/Special:Search";
|
||||
param = "search";
|
||||
aliases = [ "@wk" "@wikipedia" ];
|
||||
};
|
||||
|
||||
"Github" = mkBasicSearchEngine {
|
||||
url = "https://github.com/search";
|
||||
param = "q";
|
||||
aliases = [ "@gh" "@github" ];
|
||||
};
|
||||
|
||||
"Youtube" = mkBasicSearchEngine {
|
||||
url = "https://www.youtube.com/results";
|
||||
param = "search_query";
|
||||
aliases = [ "@yt" "@youtube" ];
|
||||
};
|
||||
|
||||
"Noita wiki" = mkBasicSearchEngine {
|
||||
url = "https://noita.wiki.gg/index.php";
|
||||
param = "search";
|
||||
aliases = [ "@noita" ];
|
||||
};
|
||||
|
||||
"Rain world wiki" = mkBasicSearchEngine {
|
||||
url = "https://rainworld.miraheze.org/w/index.php";
|
||||
param = "search";
|
||||
aliases = [ "@rw" "@rain-world" ];
|
||||
};
|
||||
|
||||
"Factorio wiki" = mkBasicSearchEngine {
|
||||
url = "https://wiki.factorio.com/index.php";
|
||||
param = "search";
|
||||
aliases = [ "@fw" "@factorio-wiki" ];
|
||||
};
|
||||
|
||||
"Factorio mod portal" = mkBasicSearchEngine {
|
||||
url = "https://mods.factorio.com/";
|
||||
param = "query";
|
||||
aliases = [ "@fm" "@factorio-mods" ];
|
||||
};
|
||||
|
||||
"Google".metaData.alias = "@g";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -17,15 +17,15 @@ in
|
|||
enable = true;
|
||||
extraConfig = ''
|
||||
; Generated theme
|
||||
include-file = ${config.scheme base16-polybar}
|
||||
${builtins.readFile (config.scheme base16-polybar)}
|
||||
|
||||
; Consistent fonts
|
||||
[fonts]
|
||||
regular = ${config.fontProfiles.regular.family}
|
||||
monospace = ${config.fontProfiles.monospace.family}
|
||||
regular = "${config.fontProfiles.regular.family}"
|
||||
monospace = "${config.fontProfiles.monospace.family}"
|
||||
|
||||
; Actual config
|
||||
include-file = ${./polybar.ini}
|
||||
${builtins.readFile ./polybar.ini}
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -73,13 +73,13 @@ icon-default =
|
|||
format = <label-state>
|
||||
|
||||
label-active = %icon%
|
||||
label-active-background = ${color.base05}
|
||||
label-active-foreground = ${color.base00}
|
||||
label-active-background = ${colors.base05}
|
||||
label-active-foreground = ${colors.base00}
|
||||
label-active-padding = 2
|
||||
|
||||
label-urgent = %icon%
|
||||
label-urgent-background = ${color.base09}
|
||||
label-urgent-foreground = ${color.base00}
|
||||
label-urgent-background = ${colors.base09}
|
||||
label-urgent-foreground = ${colors.base00}
|
||||
label-urgent-padding = 2
|
||||
|
||||
label-occupied = %icon%
|
||||
|
@ -88,7 +88,7 @@ label-occupied-padding = 2
|
|||
label-empty =
|
||||
|
||||
[bar/main]
|
||||
font-0 = ${fonts.monospace}:style=Regular
|
||||
font-0 = ${fonts.monospace}
|
||||
|
||||
modules-left = date battery
|
||||
modules-center = ewmh
|
||||
|
@ -102,9 +102,9 @@ module-margin = 2
|
|||
height=4%
|
||||
|
||||
border-top-size = 1
|
||||
border-top-color = ${color.base05}
|
||||
border-top-color= ${colors.base05}
|
||||
|
||||
background = ${color.base00}
|
||||
foreground = ${color.base05}
|
||||
background = ${colors.base00}
|
||||
foreground = ${colors.base05}
|
||||
|
||||
bottom = true
|
||||
|
|
|
@ -12,84 +12,10 @@ configuration {
|
|||
display-run: " Run ";
|
||||
display-window: " Window";
|
||||
display-Network: " Network";
|
||||
sidebar-mode: true;
|
||||
}
|
||||
|
||||
listview {
|
||||
columns: 1;
|
||||
}
|
||||
|
||||
* {
|
||||
width: 600;
|
||||
}
|
||||
|
||||
element-text, element-icon , mode-switcher {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
window {
|
||||
border: 3px;
|
||||
|
||||
height: 50%;
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
children: [prompt,entry];
|
||||
border-radius: 5px;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
prompt {
|
||||
padding: 6px;
|
||||
border-radius: 3px;
|
||||
margin: 20px 0px 0px 20px;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: ":";
|
||||
}
|
||||
|
||||
entry {
|
||||
padding: 6px;
|
||||
margin: 20px 0px 0px 10px;
|
||||
}
|
||||
|
||||
listview {
|
||||
border: 0px 0px 0px;
|
||||
padding: 6px 0px 0px;
|
||||
margin: 10px 0px 0px 20px;
|
||||
columns: 2;
|
||||
lines: 5;
|
||||
}
|
||||
|
||||
element {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 25px;
|
||||
}
|
||||
|
||||
mode-switcher {
|
||||
spacing: 0;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 10px;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
message {
|
||||
margin: 2px;
|
||||
padding: 2px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
textbox {
|
||||
padding: 6px;
|
||||
margin: 20px 0px 0px 20px;
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ in
|
|||
|
||||
// Inject font
|
||||
configuration {
|
||||
font = ${config.fontProfiles.monospace.family};
|
||||
font: "${config.fontProfiles.monospace.family}";
|
||||
}
|
||||
|
||||
// Theme
|
||||
|
|
Binary file not shown.
BIN
home/adrielus/features/desktop/common/wallpapers/wall.png
Normal file
BIN
home/adrielus/features/desktop/common/wallpapers/wall.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 288 KiB |
11
home/adrielus/features/desktop/common/xresources.nix
Normal file
11
home/adrielus/features/desktop/common/xresources.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{ config, pkgs, ... }:
|
||||
let base16-xresources = pkgs.fetchFromGitHub {
|
||||
owner = "tinted-theming";
|
||||
repo = "base16-xresources";
|
||||
sha256 = "151zahx18vfrmbll7lwwnb17rn4z0di8n0fi2yr10hg14azddb2r";
|
||||
rev = "6711cf4fa61e903e52ef6eac186b83e04a0397d8";
|
||||
};
|
||||
in
|
||||
{
|
||||
xresources.extraConfig = builtins.readFile (config.scheme base16-xresources);
|
||||
}
|
3
home/adrielus/features/desktop/common/xwallpaper.nix
Normal file
3
home/adrielus/features/desktop/common/xwallpaper.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
home.file.".background-image".source = ./wallpapers/wall.png;
|
||||
}
|
|
@ -1,3 +1,17 @@
|
|||
{
|
||||
imports = [ ./common/rofi ./common/polybar ./common/fonts.nix ];
|
||||
{ pkgs, ... }: {
|
||||
imports = [
|
||||
./common/rofi
|
||||
./common/polybar
|
||||
./common/fonts.nix
|
||||
./common/xresources.nix
|
||||
./common/xwallpaper.nix
|
||||
./common/alacritty.nix
|
||||
];
|
||||
|
||||
# Other packages I want to install:
|
||||
home.packages = with pkgs; [
|
||||
vimclip # Vim anywhere!
|
||||
xclip # Clipboard stuff
|
||||
spectacle # Take screenshots
|
||||
];
|
||||
}
|
||||
|
|
|
@ -43,8 +43,8 @@ let
|
|||
|
||||
extraRuntime = [
|
||||
(if devMode
|
||||
then symlink "${paths.dotfiles}/vscode-snippets"
|
||||
else ../../../../dotfiles/vscode-snippets)
|
||||
then symlink "${paths.dotfiles}/vscode-snippets"
|
||||
else ../../../../dotfiles/vscode-snippets)
|
||||
];
|
||||
|
||||
# Wraps a neovim client, providing the dependencies
|
||||
|
@ -57,7 +57,7 @@ let
|
|||
# - NVIM_EXTRA_RUNTIME provides extra directories to add to the runtimepath.
|
||||
# I cannot just install those dirs using the builtin package support because
|
||||
# my package manager (lazy.nvim) disables those.
|
||||
wrapClient = { base, name }:
|
||||
wrapClient = { base, name, extraArgs ? "" }:
|
||||
pkgs.symlinkJoin {
|
||||
inherit (base) name meta;
|
||||
paths = [ base ];
|
||||
|
@ -66,12 +66,17 @@ let
|
|||
wrapProgram $out/bin/${name} \
|
||||
--prefix PATH : ${lib.makeBinPath extraPackages} \
|
||||
--set INSIDE_NEOVIDE ${if name == "neovide" then "1" else "0"} \
|
||||
--set NVIM_EXTRA_RUNTIME ${lib.strings.concatStringsSep "," extraRuntime}
|
||||
--set NVIM_EXTRA_RUNTIME ${lib.strings.concatStringsSep "," extraRuntime} \
|
||||
${extraArgs}
|
||||
'';
|
||||
};
|
||||
|
||||
neovim = wrapClient { base = pkgs.neovim-nightly; name = "nvim"; };
|
||||
neovide = wrapClient { base = pkgs.neovide; name = "neovide"; };
|
||||
neovide = wrapClient {
|
||||
base = pkgs.neovide;
|
||||
name = "neovide";
|
||||
extraArgs = "--set NEOVIDE_MULTIGRID true";
|
||||
};
|
||||
in
|
||||
{
|
||||
# Do not manage neovim via nix
|
||||
|
@ -82,6 +87,8 @@ in
|
|||
symlink "${paths.dotfiles}/neovim" else
|
||||
../../../../dotfiles/neovim;
|
||||
|
||||
home.sessionVariables.EDITOR = "nvim";
|
||||
|
||||
home.packages = [
|
||||
neovim
|
||||
neovide
|
||||
|
|
|
@ -4,5 +4,19 @@
|
|||
./features/desktop/xmonad.nix
|
||||
./features/desktop/common/discord.nix
|
||||
./features/desktop/common/zathura.nix
|
||||
./features/desktop/common/firefox.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
signal-desktop # Signal client
|
||||
zoom-us # Zoom client 🤮
|
||||
obsidian # Notes
|
||||
peek # GIF recorder
|
||||
vlc # Video player
|
||||
gimp # Image editing
|
||||
libreoffice # Free office suite
|
||||
|
||||
# obs-studio # video recorder
|
||||
# lmms # music software
|
||||
];
|
||||
}
|
||||
|
|
|
@ -11,6 +11,10 @@
|
|||
./wireless
|
||||
];
|
||||
|
||||
age.identityPaths = [
|
||||
"/etc/ssh/ssh_host_ed25519_key"
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
# Add all overlays defined in the overlays directory
|
||||
overlays = builtins.attrValues outputs.overlays ++ [
|
||||
|
|
|
@ -40,20 +40,6 @@
|
|||
# TODO: what is a trusted user?
|
||||
trusted-users = [ "root" "@wheel" ];
|
||||
|
||||
# {{{ Caching and whatnot
|
||||
substituters = [
|
||||
"https://cache.nixos.org" # Default nixos cache
|
||||
"https://nix-community.cachix.org" # I think I need this for neovim-nightly?
|
||||
"https://cm-idris2-pkgs.cachix.org" # Idris packages
|
||||
"https://danth.cachix.org" # stylix
|
||||
];
|
||||
|
||||
trusted-public-keys = [
|
||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||
"cm-idris2-pkgs.cachix.org-1:YB2oJSEsD5oMJjAESxolC2GQtE6B5I6jkWhte2gtXjk="
|
||||
"danth.cachix.org-1:wpodfSL7suXRc/rJDZZUptMa1t4MJ795hemRN0q84vI="
|
||||
];
|
||||
# }}}
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -19,19 +19,11 @@
|
|||
enable = true;
|
||||
group = "network";
|
||||
};
|
||||
|
||||
# TODO: look into what this does
|
||||
extraConfig = ''
|
||||
update_config=1
|
||||
'';
|
||||
};
|
||||
|
||||
# Ensure group exists
|
||||
users.groups.network = { };
|
||||
|
||||
# Convenient alias for connecting to wifi
|
||||
environment.shellAliases.wifi = "sudo nmcli con up id";
|
||||
|
||||
# Persist imperative config
|
||||
# environment.persistence = {
|
||||
# "/persist".files = [
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 UUF9JQ Qc1AgNo+N/kjGhMVHa/QDPt5nRCtuC8BvNdxuwHHKRA
|
||||
ZnOW8dIH2Sd5WDlvVA27hpp5AVHieJXIpwCmtg+dcp0
|
||||
-> rD3(ZZw-grease ZvlDZ7| G|:Xj NsbyfDh L\'
|
||||
hZeXb1QaqOPfJKTKYdB60pMyHt6G42sIEmfzNqRI/w
|
||||
--- RFPqwBq0YPAoxa/g0gEmJmWTiYH6c77ZYR0snUIx0vE
|
||||
æÀµÞêS©_!…º™s¥_i?·><3E>ËÉry<0C>V‹|ŽÞ^ò:…ó>¯ÍúLˉQÃ~æð€<19>3W®O9eÛ(•æ<ÈyŒC JòÇRqrù
|
||||
-> ssh-ed25519 UUF9JQ q9tidRTxf+4VeDopyrO7y970Qm94iwUPsQTVK+/YGjQ
|
||||
YvjmIkVFwkIUk7OhQ1MglvcNGgXna2SgRSfMJtfOAkE
|
||||
-> ssh-ed25519 qgVaDQ REcJWqJalQylWOSOVJT1jAJtQp6qnbztcyxo/2BDdE8
|
||||
nnbnzYKKE99thYzXzODD/rSQggJgOV5Cl8ZniDfCsGY
|
||||
-> L>-grease #efvc '0l?X`-h
|
||||
F5xodFT3Tp+VpLJvE2R5PVkb43tm4VfbvTKLVIW0AuZ/wZWIedDinZx9i+gfWUsk
|
||||
5U8rU6Ki3DdbOICZ
|
||||
--- Cwoa81XsipVdO0hj9QeV60dYjHwEoS9FoDRSQ8/56oQ
|
||||
èý£¯föÖ<EFBFBD>LoYs5ià¥L;”³ñÆ”=íú^.ôü»ŠÄ§˜Ö
‘~·ˆu»9ÅZ‘ΤøÓu¼</¶U¦ý5‚«X~±DíØ\moG
|
|
@ -44,7 +44,7 @@ main =
|
|||
("M-w", spawn "rofi -show window"),
|
||||
("M-g", spawn myBrowser),
|
||||
("M-d", spawn "Discord"),
|
||||
("M-v", spawn "alacritty -e vimclip"),
|
||||
("M-v", spawn "alacritty -e 'vimclip'"),
|
||||
("M-s", spawn "spectacle -rcb"),
|
||||
("M-S-s", spawn "spectacle -mcb"),
|
||||
("M-C-s", spawn "spectacle -ucb"),
|
||||
|
@ -61,11 +61,11 @@ main =
|
|||
layouts = tall ||| Full
|
||||
myLayoutHook = spacingHook layouts
|
||||
|
||||
startupApps =
|
||||
[ (0, "alacritty"),
|
||||
(1, "google-chrome-stable"),
|
||||
(2, "Discord")
|
||||
]
|
||||
startupApps = []
|
||||
-- [ (0, "alacritty"),
|
||||
-- (1, "google-chrome-stable"),
|
||||
-- (2, "Discord")
|
||||
-- ]
|
||||
|
||||
startup :: X ()
|
||||
startup = do
|
||||
|
|
|
@ -1,14 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
let
|
||||
catpuccin-sddm = pkgs.fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "sddm";
|
||||
sha256 = "1lg10dyxgz080qfcp6k3zk6374jlj067s6p5fgx5r135ivy8mrki";
|
||||
rev = "bde6932e1ae0f8fdda76eff5c81ea8d3b7d653c0";
|
||||
};
|
||||
|
||||
sddm-theme = "${catpuccin-sddm}/src/caputccin-latte";
|
||||
in
|
||||
{
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
|
@ -20,18 +10,17 @@ in
|
|||
config = ./Main.hs;
|
||||
};
|
||||
|
||||
|
||||
# Proper wallpaper zooming
|
||||
desktopManager.wallpaper.mode = "fill";
|
||||
|
||||
displayManager = {
|
||||
# make xmonad session the default
|
||||
defaultSession = "none+xmonad";
|
||||
|
||||
# enable sddm
|
||||
# sddm = {
|
||||
# enable = true;
|
||||
# theme = sddm-theme;
|
||||
# };
|
||||
|
||||
# enable startx
|
||||
startx.enable = true;
|
||||
# startx.enable = true;
|
||||
sddm.enable = true;
|
||||
|
||||
# autoLogin = {
|
||||
# enable = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, config, ... }:
|
||||
{ pkgs, outputs, config, ... }:
|
||||
let
|
||||
# Record containing all the hosts
|
||||
hosts = outputs.nixosConfigurations;
|
||||
|
@ -10,12 +10,23 @@ in
|
|||
# Password file stored through agenix
|
||||
age.secrets.adrielusPassword.file = ./adrielus_password.age;
|
||||
|
||||
# Temporary stuff until I package my keyboard script
|
||||
users.groups.uinput = { };
|
||||
services.udev.extraRules =
|
||||
''
|
||||
# Access to /dev/uinput
|
||||
KERNEL=="uinput", MODE="0660", GROUP="uinput", OPTIONS+="static_node=uinput"
|
||||
'';
|
||||
|
||||
users = {
|
||||
# Configure users through nix only
|
||||
mutableUsers = false;
|
||||
|
||||
# Create an user named adrielus
|
||||
users.adrielus = {
|
||||
# Make fish the default shell
|
||||
shell = pkgs.fish;
|
||||
|
||||
# File containing my password, managed by agenix
|
||||
passwordFile = config.age.secrets.adrielusPassword.path;
|
||||
|
||||
|
@ -28,21 +39,22 @@ in
|
|||
"docker" # Allows me to use docker (?)
|
||||
"audio" # Allows me to use audio devices
|
||||
"video" # Allows me to use a webcam
|
||||
"uinput" # I think this let's me write to virtual devices
|
||||
"input" # Does this let me use evdev (?)
|
||||
|
||||
# TODO: find out why I added these here a long time ago
|
||||
"sound"
|
||||
"input"
|
||||
"tty"
|
||||
];
|
||||
|
||||
# Adds me to some default groups, and creates the home dir
|
||||
isNormalUser = true;
|
||||
};
|
||||
|
||||
openssh.authorizedKeys.keyFiles =
|
||||
builtins.attrValues # attrsetof path -> path[]
|
||||
(builtins.mapAttrs # ... -> attrsetof host -> attrsetof path
|
||||
(name: _: idKey name) # string -> host -> path
|
||||
hosts);
|
||||
openssh.authorizedKeys.keyFiles =
|
||||
builtins.attrValues # attrsetof path -> path[]
|
||||
(builtins.mapAttrs # ... -> attrsetof host -> attrsetof path
|
||||
(name: _: idKey name) # string -> host -> path
|
||||
hosts);
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
age-encryption.org/v1
|
||||
-> ssh-ed25519 UUF9JQ AWyd+vbllVT7QeD8xfu8D4NhxEA1RxwYCKwxGIrkIEw
|
||||
m7/XC6vhyhHW5vY+48bxmBsb6Zfhof+mavhq1fdpd+U
|
||||
-> E-grease s%$ F5jZ"f E(>8 x|#B"9
|
||||
dilxxi2WlTIReh+uvkscDubze9MyfGaW7Tn22L6p8X8YZ40muPOtVaWkgQBv1OLo
|
||||
SkccszU/cr1NEJm62YOPZGnmK96MwxA/ZWnlG5Ls/my47MqymDq7/1ySWKU5xA
|
||||
--- wOqvODKflq/JZT0/Qssb8FEl/IDNou+yKMGPn/nI81Q
|
||||
m>W¨u!ĚNą@˝ĎĎ‹yB"űGÉłĆL'A)+)áĆEzQü$Ł"Z;w-
|
||||
-> ssh-ed25519 UUF9JQ BIl9Xb3n31DCiJiEVdgSrS9Q8mV+QKHIz9pbaskbZkY
|
||||
umx6izgXtyrI7x15bAB+NtpezVWuI1ohtV3N9g7KSDU
|
||||
-> ssh-ed25519 qgVaDQ kYRngT8940XS/6SACGO86KxNlwOLx7iZFewv+6rGRF0
|
||||
+a5xQXtda8sSBCyKPGNugfozqANpVmCzXowfC6JmleA
|
||||
-> UpxQQ-grease $( d6} t4iN^
|
||||
ovdi6zgEwERhuIeRtKdKn1FPOXIovnHzueGofkQ5kbIAQRH+RSBv3L5767h+YD5m
|
||||
fKThMcdEvfwr92NHHCzPPJmigMbRUtQonDu4TGnB/XrNF8xEYiri+6S41e9CMQcQ
|
||||
/F7W
|
||||
--- bc2aF9M+2m+ZXrGsObUCYvZEvFhVEZnKTu/T81Lka0s
|
||||
€Sï±ÙbÅ
|
||||
ÔÚÐc•|$ô}Óˆ“<CB86>Á&VÄ ·,RÜ™»Èˆˆ·Þ¡à_0Y ›Ä1÷pœ(„òÄz‡˜œ¦$`;P#JXÿŠPÆ0£¬ºŒï!Šè8mN}B#½ÅÓô|ÚoönsŒh
|
|
@ -3,4 +3,5 @@
|
|||
|
||||
{ pkgs ? (import ../nixpkgs.nix) { } }: {
|
||||
# example = pkgs.callPackage (import ./example.nix) {};
|
||||
vimclip = pkgs.callPackage (import ./vimclip.nix) {};
|
||||
}
|
||||
|
|
27
pkgs/vimclip.nix
Normal file
27
pkgs/vimclip.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{ pkgs, ... }:
|
||||
pkgs.stdenv.mkDerivation rec {
|
||||
name = "vimclip";
|
||||
rev = "7f53433";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
inherit rev;
|
||||
owner = "hrantzsch";
|
||||
repo = "vimclip";
|
||||
sha256 = "cl5y7Lli5frwx823hoN17B2aQLNY7+njmKEDdIbhc4Y=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgs.makeWrapper
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp ./vimclip $out/bin/vimclip
|
||||
chmod +x $out/bin/vimclip
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/vimclip \
|
||||
--prefix PATH : ${pkgs.lib.makeBinPath [ pkgs.xsel ]} \
|
||||
'';
|
||||
}
|
|
@ -1,8 +1,12 @@
|
|||
let
|
||||
adrielus = builtins.readFile ./hosts/nixos/tethys/id_ed25519.pub;
|
||||
tethys = builtins.readFile ./hosts/nixos/tethys/ssh_host_ed25519_key.pub;
|
||||
in
|
||||
{
|
||||
"./hosts/nixos/common/global/wireless/wifi_passwords.age".publicKeys = [ adrielus ];
|
||||
"./hosts/nixos/common/users/adrielus_password.age".publicKeys = [ adrielus ];
|
||||
# Scoped for entire systems
|
||||
"./hosts/nixos/common/global/wireless/wifi_passwords.age".publicKeys = [ adrielus tethys ];
|
||||
"./hosts/nixos/common/users/adrielus_password.age".publicKeys = [ adrielus tethys ];
|
||||
|
||||
# Scoped for the user
|
||||
"./home/adrielus/features/desktop/common/wakatime/wakatime_config.age".publicKeys = [ adrielus ];
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue