mirror of
https://git.sr.ht/~roxwize/.dotfiles
synced 2025-05-02 19:53:07 +00:00
~
Signed-off-by: roxwize <rae@roxwize.xyz>
This commit is contained in:
parent
062c447374
commit
c38f040574
21 changed files with 5 additions and 4 deletions
187
nixos/flake.lock
generated
Normal file
187
nixos/flake.lock
generated
Normal file
|
@ -0,0 +1,187 @@
|
|||
{
|
||||
"nodes": {
|
||||
"fenix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-analyzer-src": "rust-analyzer-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734590149,
|
||||
"narHash": "sha256-NcfLaETnNMPHTlu7/oTrihCjTL6G2DIe6lHZ68o2n8w=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "81afc33397436c678482a1560bbc810cc3504dbc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nur",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734366194,
|
||||
"narHash": "sha256-vykpJ1xsdkv0j8WOVXrRFHUAdp9NXHpxdnn1F4pYgSw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "80b0fdf483c5d1cb75aaad909bd390d48673857f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-24.11",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-flatpak": {
|
||||
"locked": {
|
||||
"lastModified": 1734128415,
|
||||
"narHash": "sha256-HLwdVNxpuTsLlM3tCkpbQU6yCehdgf3kOS1G2SDlkzY=",
|
||||
"owner": "gmodena",
|
||||
"repo": "nix-flatpak",
|
||||
"rev": "8bdc2540da516006d07b04019eb57ae0781a04b3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "gmodena",
|
||||
"ref": "latest",
|
||||
"repo": "nix-flatpak",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1734323986,
|
||||
"narHash": "sha256-m/lh6hYMIWDYHCAsn81CDAiXoT3gmxXI9J987W5tZrE=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "394571358ce82dff7411395829aa6a3aad45b907",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1735471104,
|
||||
"narHash": "sha256-0q9NGQySwDQc7RhAV2ukfnu7Gxa5/ybJ2ANT8DQrQrs=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "88195a94f390381c6afcdaa933c2f6ff93959cb4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734554871,
|
||||
"narHash": "sha256-adKmMR20KSMrSQLAq3HbI1Y8DpgB2Fs4Nyiq9OpI/E4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "52adbe40112836626fb9ed51e14d217e8b2f81c1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"fenix": "fenix",
|
||||
"home-manager": "home-manager",
|
||||
"nix-flatpak": "nix-flatpak",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"nur": "nur"
|
||||
}
|
||||
},
|
||||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1734531725,
|
||||
"narHash": "sha256-IGe/elaXn5XXA62RIL9OuLMq1vgrUCm+bYPqYCZJ7Ug=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "27fac08c82210837a2ac84fa5e39eee6993f1605",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rust-lang",
|
||||
"ref": "nightly",
|
||||
"repo": "rust-analyzer",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nur",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733222881,
|
||||
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
51
nixos/flake.nix
Normal file
51
nixos/flake.nix
Normal file
|
@ -0,0 +1,51 @@
|
|||
{
|
||||
description = "rae's nixOS config flake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=latest";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-24.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
# Nix User Repository
|
||||
nur = {
|
||||
url = "github:nix-community/NUR";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
# Rust toolchains
|
||||
fenix = {
|
||||
url = "github:nix-community/fenix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, home-manager, nix-flatpak, ... }@inputs: {
|
||||
nixosConfigurations =
|
||||
let
|
||||
system = hostname: {
|
||||
name = hostname;
|
||||
value = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
specialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
nix-flatpak.nixosModules.nix-flatpak
|
||||
./hosts/${hostname}/configuration.nix
|
||||
];
|
||||
};
|
||||
};
|
||||
in builtins.listToAttrs [
|
||||
(system "ioides")
|
||||
(system "qemu")
|
||||
];
|
||||
|
||||
homeConfigurations.rae = home-manager.lib.homeManagerConfiguration {
|
||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
./home
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
81
nixos/home/base.nix
Normal file
81
nixos/home/base.nix
Normal file
|
@ -0,0 +1,81 @@
|
|||
{ pkgs, inputs, ... }: {
|
||||
nixpkgs.overlays = import ../overlays.nix inputs;
|
||||
|
||||
home = {
|
||||
stateVersion = "24.11";
|
||||
username = "rae";
|
||||
homeDirectory = "/home/rae";
|
||||
sessionVariables = {
|
||||
BROWSER = "firefox";
|
||||
TERM = "kitty";
|
||||
};
|
||||
file = {
|
||||
".twmrc".source = ../../configs/twm;
|
||||
".local/share/themes".source = ../../configs/openbox/themes;
|
||||
};
|
||||
};
|
||||
xdg.configFile = {
|
||||
"openbox".source = ../../configs/openbox;
|
||||
"rmpc".source = ../../configs/rmpc;
|
||||
};
|
||||
|
||||
programs = {
|
||||
fish = {
|
||||
enable = true;
|
||||
shellInit = ''
|
||||
set -g fish_greeting
|
||||
'';
|
||||
};
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "roxwize";
|
||||
userEmail = "rae@roxwize.xyz";
|
||||
};
|
||||
kitty = {
|
||||
enable = true;
|
||||
font.name = "Fira Code";
|
||||
themeFile = "mayukai";
|
||||
};
|
||||
rofi = {
|
||||
enable = true;
|
||||
font = "Fira Code Light 11";
|
||||
terminal = "kitty";
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
flameshot = {
|
||||
enable = true;
|
||||
settings = {
|
||||
General = {
|
||||
disabledTrayIcon = true;
|
||||
showStartupLaunchMessage = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
mpd = {
|
||||
enable = true;
|
||||
musicDirectory = "/mnt/world/music";
|
||||
extraConfig = ''
|
||||
audio_output {
|
||||
type "pipewire"
|
||||
name "main"
|
||||
}
|
||||
log_file "/tmp/mpd.log"
|
||||
'';
|
||||
};
|
||||
mpdris2 = {
|
||||
enable = true;
|
||||
mpd.musicDirectory = "/mnt/world/music";
|
||||
multimediaKeys = true;
|
||||
notifications = true;
|
||||
};
|
||||
mpris-proxy.enable = true;
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
cursorTheme.name = "Posy's Cursor";
|
||||
theme.name = "io.elementary.stylesheet.blueberry";
|
||||
};
|
||||
}
|
33
nixos/home/dconf.nix
Normal file
33
nixos/home/dconf.nix
Normal file
|
@ -0,0 +1,33 @@
|
|||
{ ... }: {
|
||||
dconf.settings = {
|
||||
"io/elementary/code/settings" = {
|
||||
font = "Fira Code Light 10";
|
||||
use-system-font = false;
|
||||
};
|
||||
"net/launchpad/plank/docks/dock1" = {
|
||||
dock-items = [
|
||||
"gala-multitaskingview.dockitem"
|
||||
"firefox.dockitem"
|
||||
"io.elementary.terminal.dockitem"
|
||||
"codium.dockitem"
|
||||
"io.elementary.settings.dockitem"
|
||||
];
|
||||
};
|
||||
"org/gnome/desktop/background" = {
|
||||
picture-uri = "file://" + builtins.toString /home/rae/.dotfiles/assets/wallpapers/current;
|
||||
};
|
||||
"org/gnome/desktop/interface" = {
|
||||
accent-color = "blue";
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
"org/gnome/desktop/wm/preferences" = {
|
||||
button-layout = ":minimize,maximize,close";
|
||||
};
|
||||
"org/pantheon/desktop/gala/appearance" = {
|
||||
button-layout = ":minimize,maximize,close";
|
||||
};
|
||||
"org/pantheon/desktop/gala/behavior" = {
|
||||
hotcorner-bottomright = "show-workspace-view";
|
||||
};
|
||||
};
|
||||
}
|
12
nixos/home/default.nix
Normal file
12
nixos/home/default.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ ... }: {
|
||||
imports = [
|
||||
./base.nix
|
||||
|
||||
./dconf.nix
|
||||
./firefox.nix
|
||||
./neovim.nix
|
||||
./polybar.nix
|
||||
./vscode.nix
|
||||
./yambar.nix
|
||||
];
|
||||
}
|
143
nixos/home/firefox.nix
Normal file
143
nixos/home/firefox.nix
Normal file
|
@ -0,0 +1,143 @@
|
|||
{ pkgs, ... }: {
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
DisableTelemetry = true;
|
||||
DisableFirefoxStudies = true;
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
};
|
||||
DisablePocket = true;
|
||||
ExtensionUpdate = false;
|
||||
FirefoxHome = {
|
||||
SponsoredTopSites = false;
|
||||
Highlights = false;
|
||||
Pocket = false;
|
||||
SponsoredPocket = false;
|
||||
};
|
||||
FirefoxSuggest = {
|
||||
SponsoredSuggestions = false;
|
||||
};
|
||||
};
|
||||
profiles.default = {
|
||||
isDefault = true;
|
||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||
canvasblocker
|
||||
catppuccin-gh-file-explorer
|
||||
indie-wiki-buddy
|
||||
privacy-badger
|
||||
stylus
|
||||
tabliss
|
||||
ublock-origin
|
||||
user-agent-string-switcher
|
||||
violentmonkey
|
||||
];
|
||||
settings = {
|
||||
"browser.aboutConfig.showWarning" = false;
|
||||
"browser.newtabpage.activity-stream.default.sites" = "https://en.wikipedia.org/";
|
||||
"browser.newtabpage.activity-stream.discoverystream.enabled" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
|
||||
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.havePinned" = "";
|
||||
"browser.newtabpage.activity-stream.newtabWallpapers.wallpaper" = "dark-beach";
|
||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
"browser.newtabpage.activity-stream.telemetry" = false;
|
||||
"browser.newtabpage.activity-stream.topSitesRows" = 2;
|
||||
"browser.newtabpage.pinned" = [
|
||||
{
|
||||
url = "https://discord.com/app/";
|
||||
label = "Discord";
|
||||
}
|
||||
{
|
||||
url = "https://en.wikipedia.org/";
|
||||
label = "Wikipedia";
|
||||
}
|
||||
];
|
||||
"datareporting.healthreport.uploadEnabled" = false;
|
||||
"font.name.monospace.x-western" = "Fira Code";
|
||||
"layout.css.prefers-color-scheme.content-override" = 0;
|
||||
};
|
||||
bookmarks = [
|
||||
{
|
||||
name = "Toolbar";
|
||||
toolbar = true;
|
||||
bookmarks = [
|
||||
{
|
||||
name = "CUPS interface";
|
||||
url = "http://127.0.0.1:631/";
|
||||
}
|
||||
{
|
||||
name = "Pinky & Pepper Forever";
|
||||
url = "https://www.silversprocket.net/2020/05/02/pinky-and-pepper-forever-by-eddy-atoms-part-1-of-2/";
|
||||
}
|
||||
];
|
||||
}
|
||||
{
|
||||
name = "Nix sites";
|
||||
bookmarks = [
|
||||
{
|
||||
name = "NixOS search";
|
||||
url = "https://search.nixos.org/packages";
|
||||
}
|
||||
{
|
||||
name = "Home Manager search";
|
||||
url = "https://home-manager-options.extranix.com/";
|
||||
}
|
||||
{
|
||||
name = "NUR search";
|
||||
url = "https://nur.nix-community.org/";
|
||||
}
|
||||
{
|
||||
name = "NixOS wiki";
|
||||
url = "https://nixos.wiki/";
|
||||
}
|
||||
{
|
||||
name = "Nix functions";
|
||||
url = "https://teu5us.github.io/nix-lib.html";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
search = {
|
||||
default = "DuckDuckGo";
|
||||
engines = {
|
||||
"Nix packages" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{ name = "type"; value = "packages"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
};
|
||||
"Home Manager options" = {
|
||||
urls = [{
|
||||
template = "https://home-manager-options.extranix.com/";
|
||||
params = [
|
||||
{ name = "release"; value = "release-24.11"; }
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
};
|
||||
"Manpages" = {
|
||||
urls = [{
|
||||
template = "https://www.mankier.com/";
|
||||
params = [
|
||||
{ name = "q"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
};
|
||||
|
||||
"Bing".metaData.hidden = true;
|
||||
"Google".metaData.hidden = true;
|
||||
};
|
||||
order = [ "DuckDuckGo" "Nix packages" ];
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
63
nixos/home/neovim.nix
Normal file
63
nixos/home/neovim.nix
Normal file
|
@ -0,0 +1,63 @@
|
|||
{ pkgs, ... }: {
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
vimAlias = true;
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
cmp_luasnip
|
||||
cmp-nvim-lsp
|
||||
luasnip
|
||||
nvim-cmp
|
||||
nvim-lspconfig
|
||||
rustaceanvim
|
||||
vim-just
|
||||
vim-sleuth
|
||||
vim-wakatime
|
||||
];
|
||||
extraLuaConfig = ''
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.softtabstop = 4
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.expandtab = true
|
||||
|
||||
vim.opt.number = true
|
||||
|
||||
-- cmp
|
||||
local cmp = require("cmp")
|
||||
cmp.setup {
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
require("luasnip").lsp_expand(args.body)
|
||||
end
|
||||
},
|
||||
mapping = {
|
||||
['<C-up>'] = cmp.mapping.select_prev_item(),
|
||||
['<C-down>'] = cmp.mapping.select_next_item(),
|
||||
['<C-space>'] = cmp.mapping.complete(),
|
||||
['<C-e>'] = cmp.mapping.close(),
|
||||
['<tab>'] = cmp.mapping.confirm { select = true }
|
||||
},
|
||||
sources = cmp.config.sources({
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "luasnip" }
|
||||
})
|
||||
}
|
||||
|
||||
local caps = vim.tbl_deep_extend(
|
||||
"force",
|
||||
vim.lsp.protocol.make_client_capabilities(),
|
||||
require("cmp_nvim_lsp").default_capabilities(),
|
||||
{ workspace = { didChangeWatchedFiles = { dynamicRegistration = true } } }
|
||||
)
|
||||
|
||||
-- lspconfig
|
||||
local lc = require("lspconfig")
|
||||
|
||||
lc.nil_ls.setup {
|
||||
autostart = true,
|
||||
capabilities = caps,
|
||||
cmd = { "nil" }
|
||||
}
|
||||
'';
|
||||
};
|
||||
}
|
100
nixos/home/polybar.nix
Normal file
100
nixos/home/polybar.nix
Normal file
|
@ -0,0 +1,100 @@
|
|||
{ ... }: {
|
||||
services.polybar = {
|
||||
enable = true;
|
||||
script = "polybar &";
|
||||
settings =
|
||||
let
|
||||
background = "#0000";
|
||||
foreground = "#030910";
|
||||
color0 = "#d9eafd";
|
||||
color1 = "#bcccdc";
|
||||
color2 = "#9aa6b2";
|
||||
in {
|
||||
"global/wm" = {
|
||||
margin-top = 2;
|
||||
margin-bottom = 2;
|
||||
};
|
||||
"bar/top" = {
|
||||
background = background;
|
||||
foreground = foreground;
|
||||
width = "100%";
|
||||
height = 32;
|
||||
font-0 = "GohuFont:style=Regular:size=11:antialias=false;3";
|
||||
modules-left = "xworkspaces audio";
|
||||
modules-right = "cpu memory date";
|
||||
module-margin = 1;
|
||||
offset-y = 14;
|
||||
padding = 2;
|
||||
bottom = true;
|
||||
dpi-x = 96;
|
||||
dpi-y = 96;
|
||||
};
|
||||
|
||||
"module/cpu" = {
|
||||
type = "internal/cpu";
|
||||
label = "CPU: %percentage%%";
|
||||
label-background = color0;
|
||||
label-padding = 2;
|
||||
interval = 2;
|
||||
};
|
||||
"module/memory" = {
|
||||
type = "internal/memory";
|
||||
label = "RAM: %percentage_used%%";
|
||||
label-background = color1;
|
||||
label-padding = 2;
|
||||
interval = 2;
|
||||
};
|
||||
"module/xwindow" = {
|
||||
type = "internal/xwindow";
|
||||
label-active-font = 0;
|
||||
};
|
||||
"module/xworkspaces" = {
|
||||
type = "internal/xworkspaces";
|
||||
enable-scroll = false;
|
||||
label-active = "%name%";
|
||||
label-active-background = color1;
|
||||
label-active-padding = 1;
|
||||
label-occupied = "%name%";
|
||||
label-occupied-background = color2;
|
||||
label-occupied-padding = 1;
|
||||
label-empty = "%name%";
|
||||
label-empty-foreground = "#fff";
|
||||
label-empty-padding = 1;
|
||||
label-urgent = "%name%";
|
||||
label-urgent-background = color0;
|
||||
label-urgent-padding = 1;
|
||||
};
|
||||
"module/audio" = {
|
||||
type = "internal/alsa";
|
||||
master-soundcard = "hw:1";
|
||||
master-mixer = "Master";
|
||||
format-volume = "<label-volume>";
|
||||
format-muted = "<label-muted>";
|
||||
label-volume = "VOL: %percentage%%";
|
||||
label-muted = "VOL: 0%";
|
||||
label-volume-background = color0;
|
||||
label-volume-padding = 2;
|
||||
label-muted-background = color0;
|
||||
label-muted-padding = 2;
|
||||
click-right = "pavucontrol";
|
||||
};
|
||||
"module/battery" = {
|
||||
type = "internal/battery";
|
||||
battery = "BAT0";
|
||||
adapter = "ADP1";
|
||||
label-charging = "BAT: %percentage%%++";
|
||||
label-discharging = "BAT: %percentage%%";
|
||||
label-background = color1;
|
||||
label-padding = 2;
|
||||
};
|
||||
"module/date" = {
|
||||
type = "internal/date";
|
||||
date = "%b %d %y";
|
||||
time = "%I:%M %p";
|
||||
label-background = color2;
|
||||
label-padding = 2;
|
||||
interval = 5;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
55
nixos/home/vscode.nix
Normal file
55
nixos/home/vscode.nix
Normal file
|
@ -0,0 +1,55 @@
|
|||
{ pkgs, ... }: {
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
enableUpdateCheck = false;
|
||||
enableExtensionUpdateCheck = false;
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
catppuccin.catppuccin-vsc
|
||||
catppuccin.catppuccin-vsc-icons
|
||||
editorconfig.editorconfig
|
||||
esbenp.prettier-vscode
|
||||
jnoortheen.nix-ide
|
||||
llvm-vs-code-extensions.vscode-clangd
|
||||
mesonbuild.mesonbuild
|
||||
ms-vscode.live-server
|
||||
rust-lang.rust-analyzer
|
||||
skellock.just
|
||||
vadimcn.vscode-lldb
|
||||
wakatime.vscode-wakatime
|
||||
];
|
||||
userSettings =
|
||||
let
|
||||
df = lang: formatter: {
|
||||
name = "[" + lang + "]";
|
||||
value = {
|
||||
"editor.defaultFormatter" = formatter;
|
||||
};
|
||||
};
|
||||
in {
|
||||
"editor.fontFamily" = "'Fira Code Light', monospace";
|
||||
# "editor.fontLigatures" = true;
|
||||
"editor.formatOnSave" = false;
|
||||
"editor.indentSize" = 4;
|
||||
"editor.tabSize" = 4;
|
||||
"explorer.confirmDelete" = false;
|
||||
"explorer.confirmDragAndDrop" = false;
|
||||
"mesonbuild.buildFolder" = "build";
|
||||
"prettier.tabWidth" = 4;
|
||||
"prettier.trailingComma" = "none";
|
||||
"prettier.singleAttributePerLine" = false;
|
||||
"prettier.useEditorConfig" = true;
|
||||
"svelte.enable-ts-plugin" = true;
|
||||
"telemetry.telemetryLevel" = "off";
|
||||
"workbench.activityBar.iconClickBehavior" = "toggle";
|
||||
"workbench.activityBar.location" = "bottom";
|
||||
"workbench.colorTheme" = "Catppuccin Frappé";
|
||||
"workbench.iconTheme" = "catppuccin-frappe";
|
||||
} // builtins.listToAttrs [
|
||||
(df "css" "esbenp.prettier-vscode")
|
||||
(df "html" "esbenp.prettier-vscode")
|
||||
(df "typescript" "esbenp.prettier-vscode")
|
||||
(df "javascript" "esbenp.prettier-vscode")
|
||||
];
|
||||
};
|
||||
}
|
85
nixos/home/yambar.nix
Normal file
85
nixos/home/yambar.nix
Normal file
|
@ -0,0 +1,85 @@
|
|||
{ pkgs, ... }: {
|
||||
programs.yambar = {
|
||||
enable = true;
|
||||
settings = {
|
||||
bar = {
|
||||
location = "top";
|
||||
height = 18;
|
||||
background = "00000088";
|
||||
font = "GohuFont:style=Regular:pixelsize=11";
|
||||
margin = 16;
|
||||
spacing = 3;
|
||||
|
||||
left = [
|
||||
{
|
||||
# https://codeberg.org/dnkl/yambar/issues/53#issuecomment-264088
|
||||
script = {
|
||||
#? or /run/current-system/sw/bin/playerctl
|
||||
path = "${pkgs.playerctl}/bin/playerctl";
|
||||
args = [
|
||||
"--follow"
|
||||
"metadata"
|
||||
"--format"
|
||||
''
|
||||
status|string|{{status}}
|
||||
artist|string|{{artist}}
|
||||
title|string|{{title}}
|
||||
''
|
||||
];
|
||||
content.map.conditions = {
|
||||
"status == Playing && artist != \"\"" = {
|
||||
string.text = "{artist} - {title}";
|
||||
};
|
||||
"status == Playing && artist == \"\"" = {
|
||||
string.text = "{title}";
|
||||
};
|
||||
"status != Playing" = {
|
||||
string.text = "god's in his heaven | all's right with the world";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
right = [
|
||||
{
|
||||
battery = {
|
||||
name = "BAT0";
|
||||
content.map.conditions."state != unknown".string.text = "bat {capacity}% |";
|
||||
};
|
||||
}
|
||||
{
|
||||
pipewire = {
|
||||
content.map.conditions."type == sink".string = {
|
||||
text = "vol {cubic_volume}% |";
|
||||
on-click = {
|
||||
left = "pavucontrol";
|
||||
wheel-up = "amixer sset Master 1%+";
|
||||
wheel-down = "amixer sset Master 1%-";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
{
|
||||
cpu = {
|
||||
poll-interval = 2000;
|
||||
content.map.conditions."id < 0".string.text = "cpu {cpu}%";
|
||||
};
|
||||
}
|
||||
{
|
||||
mem = {
|
||||
poll-interval = 2000;
|
||||
content.string.text = "ram {percent_used}% |";
|
||||
};
|
||||
}
|
||||
{
|
||||
clock = {
|
||||
date-format = "%b %d %y";
|
||||
time-format = "%I:%M %p";
|
||||
content.string.text = "{date} {time}";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
150
nixos/hosts/base.nix
Normal file
150
nixos/hosts/base.nix
Normal file
|
@ -0,0 +1,150 @@
|
|||
{ pkgs, inputs, ... }:
|
||||
{
|
||||
imports = [
|
||||
../packages.nix
|
||||
];
|
||||
|
||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||
nixpkgs = {
|
||||
config.allowUnfree = true;
|
||||
overlays = import ../overlays.nix inputs;
|
||||
};
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
users.users.rae = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" "docker" ];
|
||||
hashedPassword = "$y$j9T$YPq.Kl8rss1JmJ5Vg6cHE/$2kdfzCkkhaO.I4u714EQnS/ZFert5byisiRVxtC.9G2";
|
||||
shell = pkgs.fish;
|
||||
};
|
||||
|
||||
programs = {
|
||||
dconf.enable = true;
|
||||
firefox.enable = true;
|
||||
fish.enable = true;
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
nix-ld.enable = true;
|
||||
steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
localNetworkGameTransfers.openFirewall = true;
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
# Xorg
|
||||
xserver = {
|
||||
enable = true;
|
||||
xkb.layout = "us";
|
||||
windowManager = {
|
||||
cwm.enable = true;
|
||||
openbox.enable = true;
|
||||
twm.enable = true;
|
||||
};
|
||||
};
|
||||
displayManager = {
|
||||
sddm = {
|
||||
enable = true;
|
||||
settings = {
|
||||
Autologin = {
|
||||
User = "rae";
|
||||
Session = "none+openbox";
|
||||
};
|
||||
};
|
||||
theme = "catppuccin-mocha";
|
||||
};
|
||||
};
|
||||
|
||||
# Touchpad support
|
||||
libinput.enable = true;
|
||||
# Sound
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
# CUPS printing
|
||||
# Can be configured at http://127.0.0.1:631/
|
||||
# Local printers are host-specific (see `hardware.printers`)
|
||||
# Avahi enables IPP Everywhere
|
||||
printing.enable = true;
|
||||
avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
# misc
|
||||
flatpak = {
|
||||
enable = true;
|
||||
packages = [
|
||||
"com.github.tchx84.Flatseal"
|
||||
{ flatpakref = "https://sober.vinegarhq.org/sober.flatpakref"; sha256 = "1pj8y1xhiwgbnhrr3yr3ybpfis9slrl73i0b1lc9q89vhip6ym2l"; }
|
||||
];
|
||||
};
|
||||
blueman.enable = true;
|
||||
openssh = {
|
||||
enable = true;
|
||||
knownHosts = {
|
||||
"git.sr.ht" = {
|
||||
hostNames = [ "git.sr.ht" ];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvRd4EtM7R+IHVMWmDkVU3VLQTSwQDSAvW0t2Tkj60";
|
||||
};
|
||||
"github.com" = {
|
||||
hostNames = [ "github.com" ];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl";
|
||||
};
|
||||
"verygay.world" = {
|
||||
hostNames = [ "verygay.world" ];
|
||||
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICMql669TiEneexyQsUWfCo9ouEJwk3f21d9chpBqFge";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
config = {
|
||||
common = {
|
||||
default = [ "gtk" ];
|
||||
};
|
||||
};
|
||||
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
|
||||
};
|
||||
|
||||
fonts = {
|
||||
enableDefaultPackages = true;
|
||||
fontconfig = {
|
||||
enable = true;
|
||||
defaultFonts = {
|
||||
emoji = [ "Twitter Color Emoji" "Noto Color Emoji" ];
|
||||
monospace = [ "Fira Code Light" ];
|
||||
};
|
||||
};
|
||||
packages = with pkgs; [
|
||||
fira-code
|
||||
gohufont
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-emoji
|
||||
twemoji-color-font
|
||||
];
|
||||
};
|
||||
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
console = {
|
||||
font = "gr928-8x16-thin"; # https://adeverteuil.github.io/linux-console-fonts-screenshots/
|
||||
keyMap = "us";
|
||||
};
|
||||
|
||||
virtualisation.docker.enable = true;
|
||||
}
|
57
nixos/hosts/ioides/configuration.nix
Normal file
57
nixos/hosts/ioides/configuration.nix
Normal file
|
@ -0,0 +1,57 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../base.nix
|
||||
];
|
||||
|
||||
boot.loader = {
|
||||
efi = {
|
||||
canTouchEfiVariables = false;
|
||||
efiSysMountPoint = "/efi";
|
||||
};
|
||||
grub = {
|
||||
enable = true;
|
||||
efiSupport = true;
|
||||
efiInstallAsRemovable = true;
|
||||
devices = [ "nodev" ];
|
||||
};
|
||||
};
|
||||
|
||||
# Music pendrive
|
||||
fileSystems."/mnt/world" = {
|
||||
device = "/dev/disk/by-uuid/639bae80-0f5d-481c-ae4e-d2c70f754a1c";
|
||||
fsType = "ext4";
|
||||
neededForBoot = false;
|
||||
};
|
||||
|
||||
networking.hostName = "ioides";
|
||||
|
||||
services = {
|
||||
xserver.videoDrivers = [ "nvidia" ];
|
||||
};
|
||||
hardware = {
|
||||
graphics = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
intel-media-sdk
|
||||
];
|
||||
};
|
||||
nvidia = {
|
||||
modesetting.enable = true;
|
||||
powerManagement = {
|
||||
enable = false;
|
||||
finegrained = false;
|
||||
};
|
||||
open = false;
|
||||
nvidiaSettings = true;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
};
|
||||
};
|
||||
fonts.fontconfig.subpixel.rgba = "rgb";
|
||||
|
||||
time.timeZone = "America/New_York";
|
||||
|
||||
system.stateVersion = "24.11";
|
||||
}
|
||||
|
46
nixos/hosts/ioides/hardware-configuration.nix
Normal file
46
nixos/hosts/ioides/hardware-configuration.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
# 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" "ahci" "usb_storage" "usbhid" "uas" "sd_mod" "sr_mod" ];
|
||||
boot.initrd.kernelModules = [ "dm-snapshot" ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/bf247e42-e44d-41ce-ab3d-7444242f7c44";
|
||||
fsType = "xfs";
|
||||
};
|
||||
|
||||
fileSystems."/home" =
|
||||
{ device = "/dev/disk/by-uuid/3b36f28c-d7f3-4235-a3e2-a4ca4f81a15e";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/efi" =
|
||||
{ device = "/dev/disk/by-uuid/9065-FC15";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/98760dd1-4291-4e4d-8e75-466b21fc5437"; }
|
||||
];
|
||||
|
||||
# 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.enp0s31f6.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
20
nixos/hosts/qemu/configuration.nix
Normal file
20
nixos/hosts/qemu/configuration.nix
Normal file
|
@ -0,0 +1,20 @@
|
|||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../base.nix
|
||||
];
|
||||
|
||||
boot.loader = {
|
||||
grub = {
|
||||
enable = true;
|
||||
device = "/dev/sda";
|
||||
};
|
||||
};
|
||||
|
||||
networking.hostName = "qemu";
|
||||
|
||||
time.timeZone = "America/New_York";
|
||||
|
||||
system.stateVersion = "24.11";
|
||||
}
|
33
nixos/hosts/qemu/hardware-configuration.nix
Normal file
33
nixos/hosts/qemu/hardware-configuration.nix
Normal file
|
@ -0,0 +1,33 @@
|
|||
# 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 + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ata_piix" "floppy" "sd_mod" "sr_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/2812e740-47e5-4246-b9ef-9cf9900665fa";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/efc2c587-0227-4c85-a49d-0e508f1b75a6"; }
|
||||
];
|
||||
|
||||
# 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.ens3.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
}
|
10
nixos/overlays.nix
Normal file
10
nixos/overlays.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{ nur, fenix, nixpkgs-unstable, ... }: [
|
||||
nur.overlays.default
|
||||
fenix.overlays.default
|
||||
(import ./pkgs/overlay.nix {})
|
||||
(final: prev: {
|
||||
unstable = import nixpkgs-unstable {
|
||||
system = prev.system;
|
||||
};
|
||||
})
|
||||
]
|
97
nixos/packages.nix
Normal file
97
nixos/packages.nix
Normal file
|
@ -0,0 +1,97 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
# I'm not sure if you actually need stuff like GTK4 to be
|
||||
# in here when it's really only used with nix-shell and the
|
||||
# amount of time it saves during installation is probably
|
||||
# only like a few seconds
|
||||
environment.systemPackages = with pkgs; [
|
||||
# development
|
||||
cc65 # C compiler for processors of 6502 family
|
||||
chibicc-uxn # A small C compiler... for uxn
|
||||
llvmPackages_19.clang-tools # Standalone command line tools for C++ development
|
||||
(fenix.default.withComponents [ "cargo" "rustc" ])
|
||||
gcc # GNU Compiler Collection, version 13.3.0 (wrapper script)
|
||||
git # Distributed version control system
|
||||
gnumake # Tool to control the generation of non-source files from sources
|
||||
godot_4 # Free and Open Source 2D and 3D game engine
|
||||
gtk4 # Multi-platform toolkit for creating graphical user interfaces
|
||||
just # Handy way to save and run project-specific commands
|
||||
meson # Open source, fast and friendly build system made in Python
|
||||
nodejs_23 # Event-driven I/O framework for the V8 JavaScript engine
|
||||
pnpm # Fast, disk space efficient package manager for JavaScript
|
||||
python314 # High-level dynamically-typed programming language
|
||||
vala # Compiler for GObject type system
|
||||
## language servers
|
||||
mesonlsp # Meson
|
||||
nil # Nix
|
||||
rust-analyzer # Rust
|
||||
vala-language-server # Vala
|
||||
# games
|
||||
alvr # Stream VR games from your PC to your headset via Wi-Fi
|
||||
unstable.luanti # An open source voxel game engine (formerly Minetest)
|
||||
prismlauncher # Free, open source launcher for Minecraft
|
||||
steam-run # Run commands in the same FHS environment that is used for Steam
|
||||
uxn # Assembler and emulator for the Uxn stack machine
|
||||
x16 # Official emulator of CommanderX16 8-bit computer
|
||||
x16-rom # ROM file for CommanderX16 8-bit computer
|
||||
# graphics
|
||||
flameshot # Powerful yet simple to use screenshot software
|
||||
gimp # GNU Image Manipulation Program
|
||||
imagemagick # Software suite to create, edit, compose, or convert bitmap images
|
||||
krita # Free and open source painting application
|
||||
maim # Command-line screenshot utility
|
||||
# gtk
|
||||
posy-cursors # Posy's Improved Cursors for Linux
|
||||
pantheon.elementary-gtk-theme # GTK theme designed to be smooth, attractive, fast, and usable
|
||||
# internet
|
||||
nicotine-plus # Graphical client for the SoulSeek peer-to-peer system
|
||||
slack # Desktop client for Slack
|
||||
vesktop # Alternate client for Discord with Vencord built-in
|
||||
yt-dlp # Command-line tool to download videos from YouTube.com and other sites (youtube-dl fork)
|
||||
# system tools
|
||||
android-tools # Android SDK platform tools
|
||||
bat # Cat(1) clone with syntax highlighting and Git integration
|
||||
btop # Monitor of resources
|
||||
dconf-editor # GSettings editor for GNOME
|
||||
kdePackages.dolphin # File manager by KDE
|
||||
ffmpeg # Complete, cross-platform solution to record, convert and stream audio and video
|
||||
kdePackages.filelight # Quickly visualize your disk space usage
|
||||
gparted # Graphical disk partitioning tool
|
||||
home-manager # Nix-based user environment configurator
|
||||
hyfetch # neofetch with pride flags <3
|
||||
kitty # Modern, hackable, featureful, OpenGL based terminal emulator
|
||||
monitor # Manage processes and monitor system resources
|
||||
unzip # Extraction utility for archives compressed in .zip format
|
||||
usbutils # Tools for working with USB devices, such as lsusb
|
||||
wine # Open Source implementation of the Windows API on top of X, OpenGL, and Unix
|
||||
xclip # Tool to access the X clipboard from a console application
|
||||
zellij # Terminal workspace with batteries included
|
||||
# text editors
|
||||
neovim # Vim text editor fork focused on extensibility and agility
|
||||
vscodium # Open source source code editor developed by Microsoft for Windows, Linux and macOS (VS Code without MS branding/telemetry/licensing)
|
||||
# audio
|
||||
alsa-utils # ALSA, the Advanced Linux Sound Architecture utils
|
||||
audacity # Sound editor with graphical UI
|
||||
mpc # Minimalist command line interface to MPD
|
||||
pavucontrol # PulseAudio Volume Control
|
||||
playerctl # Command-line utility and library for controlling media players that implement MPRIS
|
||||
reaper # Digital audio workstation
|
||||
unstable.rmpc # TUI music player client for MPD with album art support via kitty image protocol
|
||||
sunvox # Small, fast and powerful modular synthesizer with pattern-based sequencer
|
||||
# X11
|
||||
hsetroot # Allows you to compose wallpapers ('root pixmaps') for X
|
||||
nitrogen # Wallpaper browser and setter for X11
|
||||
polybarFull # Fast and easy-to-use tool for creating status bars
|
||||
rofi # Window switcher, run dialog and dmenu replacement
|
||||
xcompmgr #
|
||||
xdotool # Fake keyboard/mouse input, window management, and more
|
||||
xorg.xev #
|
||||
xorg.xwininfo #
|
||||
yambar # Modular status panel for X11 and Wayland
|
||||
# misc
|
||||
catppuccin-sddm # Soothing pastel theme for SDDM
|
||||
kdePackages.kdenlive # Free and open source video editor, based on MLT Framework and KDE Frameworks
|
||||
nmap # Free and open source utility for network discovery and security auditing
|
||||
qemu_kvm # Generic and open source machine emulator and virtualizer
|
||||
];
|
||||
}
|
23
nixos/pkgs/chibicc-uxn/default.nix
Normal file
23
nixos/pkgs/chibicc-uxn/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ lib, stdenv, fetchFromGitHub }: stdenv.mkDerivation {
|
||||
pname = "chibicc-uxn";
|
||||
version = "1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "lynn";
|
||||
repo = "chibicc";
|
||||
rev = "0a590db363fb8d69b80fc70d9dfb7e655aafe656";
|
||||
sha256 = "1jf18dh9ns0q79q8ql5yiw7l3zswyy0qjlz089xr3kw4zpqaqfmn";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp chibicc $out/bin
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A small C compiler... for uxn";
|
||||
homepage = "https://github.com/lynn/chibicc";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
3
nixos/pkgs/overlay.nix
Normal file
3
nixos/pkgs/overlay.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
{ ... }: final: prev: with final; {
|
||||
chibicc-uxn = callPackage ./chibicc-uxn {};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue