starting dbrw config
All checks were successful
/ update-readme (push) Successful in 50s

This commit is contained in:
dim 2024-12-30 11:27:00 +07:00
parent 863253bc74
commit 4c874e960d
45 changed files with 1068 additions and 594 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,4 @@
{
# https://github.com/anotherhadi/nixy
description = ''
Nixy is a NixOS configuration with home-manager, secrets and custom theming all in one place.
It's a simple way to manage your system configuration and dotfiles.
@ -24,26 +23,30 @@
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprspace = {
# BUG: This is a temporary fix for the flake issue
url = "github:KZDKM/Hyprspace/0a41e37c9112a752ac2a7b9afbbdac5d14c536c6";
inputs.hyprland.follows = "hyprland";
};
# hyprspace = {
# url = "github:KZDKM/Hyprspace";
# inputs.hyprland.follows = "hyprland";
# };
nixy-wallpapers = {
url = "github:anotherhadi/nixy-wallpapers";
flake = false;
};
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
hyprland.url = "github:/hyprwm/Hyprland";
hyprpolkitagent.url = "github:hyprwm/hyprpolkitagent";
hyprsunset.url = "github:hyprwm/hyprsunset";
hyprpanel.url = "github:Jas-SinghFSU/HyprPanel";
stylix.url = "github:danth/stylix";
apple-fonts.url = "github:Lyndeno/apple-fonts.nix";
firefox-addons = {
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser.url = "github:0xc000022070/zen-browser-flake";
};
outputs = inputs@{ nixpkgs, ... }: {
nixosConfigurations = {
nixy = # CHANGEME: This should match the 'hostname' in your variables.nix file
dark = # CHANGEME: This should match the 'hostname' in your variables.nix file
nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
modules = [
@ -51,7 +54,7 @@
nixpkgs.overlays = [ inputs.hyprpanel.overlay ];
_module.args = { inherit inputs; };
}
inputs.nixos-hardware.nixosModules.omen-16-n0005ne # CHANGEME: check https://github.com/NixOS/nixos-hardware
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x270 # CHANGEME: check https://github.com/NixOS/nixos-hardware
inputs.home-manager.nixosModules.home-manager
inputs.stylix.nixosModules.stylix
./hosts/laptop/configuration.nix # CHANGEME: change the path to match your host folder

View File

@ -0,0 +1,102 @@
{ pkgs, inputs, ... }: {
programs.firefox = {
enable = true;
profiles.dark = {
isDefault = true;
id = 0;
name = "dark";
settings = {
"signon.rememberSignons" = false;
"widget.use-xdg-desktop-portal.file-picker" = 1;
"browser.aboutConfig.showWarning" = false;
"browser.compactmode.show" = true;
"browser.cache.disk.enable" = false; # Be kind to hard drive
# Privacy settings
"privacy.donottrackheader.enabled" = true;
"privacy.trackingprotection.enabled" = true;
"privacy.trackingprotection.socialtracking.enabled" = true;
"privacy.partition.network_state.ocsp_cache" = true;
# Disable all sorts of telemetry
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
"browser.newtabpage.activity-stream.telemetry" = false;
"browser.ping-centre.telemetry" = false;
"toolkit.telemetry.archive.enabled" = false;
"toolkit.telemetry.bhrPing.enabled" = false;
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.firstShutdownPing.enabled" = false;
"toolkit.telemetry.hybridContent.enabled" = false;
"toolkit.telemetry.newProfilePing.enabled" = false;
"toolkit.telemetry.reportingpolicy.firstRun" = false;
"toolkit.telemetry.shutdownPingSender.enabled" = false;
"toolkit.telemetry.unified" = false;
"toolkit.telemetry.updatePing.enabled" = false;
# As well as Firefox 'experiments'
"experiments.activeExperiment" = false;
"experiments.enabled" = false;
"experiments.supported" = false;
"network.allow-experiments" = false;
# Disable Pocket Integration
"browser.newtabpage.activity-stream.section.highlights.includePocket" =
false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"extensions.pocket.enabled" = false;
"extensions.pocket.api" = "";
"extensions.pocket.oAuthConsumerKey" = "";
"extensions.pocket.showHome" = false;
"extensions.pocket.site" = "";
};
search = {
force = true;
default = "Searx";
order = [ "Searx" "Google" ];
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";
definedAliases = [ "@np" ];
};
"NixOS Wiki" = {
urls = [{
template = "https://nixos.wiki/index.php?search={searchTerms}";
}];
iconUpdateURL = "https://nixos.wiki/favicon.png";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = [ "@nw" ];
};
"Searx" = {
urls = [{
template = "https://searx.aicampground.com/?q={searchTerms}";
}];
iconUpdateURL = "https://nixos.wiki/favicon.png";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = [ "@searx" ];
};
"Bing".metaData.hidden = true;
"Google".metaData.alias =
"@g"; # builtin engines only support specifying one additional alias
};
};
extensions = with inputs.firefox-addons.packages.${pkgs.system}; [
bitwarden
multi-account-containers
zotero-connector
unpaywall
];
};
};
}

View File

@ -22,6 +22,7 @@ in {
extraConfig = {
init.defaultBranch = "main";
push.autoSetupRemote = true;
color.ui = "1";
};
aliases = {
essa = "push --force";

View File

@ -9,6 +9,7 @@
"ctrl+tab" = "send_text all \\x1b[27;5;9~";
"ctrl+shift+tab" = "send_text all \\x1b[27;6;9~";
"alt+tab" = "send_text all \\x1b[27;3;9~";
"ctrl+shift+enter" = "new_window_with_cwd";
};
settings = {
scrollback_lines = 10000;
@ -23,6 +24,7 @@
cursor_shape = "Underline";
cursor_underline_thickness = 3;
window_padding_width = 10;
tab_bar_style = "powerline";
};
};
}

View File

@ -0,0 +1,8 @@
{ pkgs, ... }: {
home.packages = with pkgs; [
nemo-with-extensions
nemo-fileroller
nemo-emblems
file-roller
];
}

View File

@ -62,6 +62,14 @@
keymaps = [
# General Mappings
{
key = "j";
action = "gj";
}
{
key = "k";
action = "gk";
}
{
key = "<leader>e";
action = "<cmd>Oil --float<cr>";

View File

@ -29,10 +29,24 @@
termguicolors = true;
showmode = false;
wrap = false;
wrap = true;
linebreak = true;
swapfile = false;
undofile = true;
conceallevel = 3;
};
programs.nixvim.extraConfigLuaPost = ''
vim.g.neovide_scale_factor = 1.0
local change_scale_factor = function(delta)
vim.g.neovide_scale_factor = vim.g.neovide_scale_factor * delta
end
vim.keymap.set("n", "<C-=>", function()
change_scale_factor(1.25)
end)
vim.keymap.set("n", "<C-->", function()
change_scale_factor(1/1.25)
end)
'';
}

View File

@ -1,20 +1,31 @@
{
{ pkgs, ... }: {
programs.nixvim.plugins = {
lsp-format.enable = true;
lsp = {
enable = true;
servers = {
bashls.enable = true;
clangd.enable = true;
gopls.enable = true;
clangd.enable = false;
gopls.enable = false;
nixd = {
enable = true;
extraOptions = { expr = "import <nixpkgs> {}"; };
};
tailwindcss.enable = true;
html.enable = true;
svelte.enable = true;
svelte.enable = false;
marksman.enable = true;
intelephense = {
enable = true;
package = pkgs.nodePackages.intelephense;
settings = {
init_options = {
globalStoragePath = "~/.local/share/intelephense";
};
};
};
dockerls.enable = true;
elmls.enable = true;
};
keymaps.lspBuf = {
"gd" = "definition";
@ -32,15 +43,17 @@
statix.enable = true;
};
formatting = {
gofmt.enable = true;
goimports.enable = true;
# gofmt.enable = true;
# goimports.enable = true;
nixfmt.enable = true;
markdownlint.enable = true;
tidy.enable = true;
shellharden.enable = true;
shfmt.enable = true;
golines.enable = true;
gofumpt.enable = true;
# golines.enable = true;
# gofumpt.enable = true;
phpcsfixer.enable = true;
elm_format.enable = true;
};
};
};

View File

@ -112,6 +112,10 @@ in {
modes = "n";
};
};
tables = {
formatOnMove = true;
trimWhitespace = true;
};
};
extraFiles = {
"after/ftplugin/markdown.lua".text = ''

View File

@ -0,0 +1,6 @@
{
programs.nixvim.plugins.project-nvim = {
enable = true;
enableTelescope = true;
};
}

View File

@ -19,15 +19,15 @@
right = "|";
};
sectionSeparators = {
left = ""; # 
right = ""; # 
left = ""; # 
right = ""; # 
};
sections = {
lualine_a = [ "mode" ];
lualine_b = [ "branch" "diff" "diagnostics" ];
lualine_c = [ "filename" ];
lualine_x = [ "filetype" ];
lualine_y = [ "progress" ];
lualine_y = [ "progress" "selectioncount" ];
lualine_z = [ ''" " .. os.date("%R")'' ];
};
};
@ -44,7 +44,7 @@
};
trouble.enable = true;
indent-blankline.enable = true;
nvim-colorizer.enable = true;
colorizer.enable = true;
tagbar = {
enable = true;
tagsPackage = pkgs.universal-ctags;

View File

@ -7,7 +7,7 @@
copilot-vim.enable = true;
flash.enable = true;
image = {
enable = true;
enable = false;
integrations.markdown = {
clearInInsertMode = true;
onlyRenderImageAtCursor = true;
@ -43,7 +43,10 @@
};
};
};
# treesitter-context.enable = true;
orgmode.enable = true;
treesitter-context.enable = true;
nvim-surround.enable = true;
vim-suda.enable = true;
};
};
}

View File

@ -0,0 +1,3 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ libreoffice thunderbird marp-cli ];
}

View File

@ -0,0 +1,16 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ pass seahorse gnome-keyring pinentry-all ];
services.gnome-keyring.enable = true;
programs.gpg.enable = true;
services.gpg-agent = {
enable = true;
maxCacheTtl = 604800;
defaultCacheTtl = 604800;
enableSshSupport = true;
enableZshIntegration = true;
verbose = true;
enableScDaemon = false;
pinentryPackage = pkgs.pinentry-all;
};
}

View File

@ -13,7 +13,7 @@ let
"config": {
"title" : "Welcome Home",
"openLinksInNewTab": false,
"locale": "fr-FR",
"locale": "id-ID",
"colors": {
"primary": "${accent}",
"background": "${background}",
@ -49,37 +49,36 @@ let
}
'';
homepage = pkgs.buildNpmPackage {
pname = "homepage";
version = "0.0.0";
# homepage = pkgs.buildNpmPackage {
# pname = "homepage";
# version = "0.0.0";
#
# src = pkgs.fetchFromGitHub {
# owner = "anotherhadi";
# repo = "homepage";
# rev = "b77d35ed3596eb451bd2ec78063d7cc6e73c773d";
# hash = "sha256-j/40922kfAh6zqJ4IRYpr66YXNNYsxuXwZ0aiJFJea0=";
# };
#
# # npmDepsHash = lib.fakeHash;
# npmDepsHash = "sha256-bG+CHTq2Rst3JMxsjAC81KhK+G7WwsTVD1eyP87g0z4=";
#
# buildPhase = ''
# npm install
# cp ${pkgs.writeText "src/routes/config.json" settings} src/routes/config.json
# npm run build
# mkdir $out
# mv build $out
# '';
#
# meta = {
# description = "homepage";
# homepage = "https://github.com/anotherhadi/homepage";
# };
# };
src = pkgs.fetchFromGitHub {
owner = "anotherhadi";
repo = "homepage";
rev = "b77d35ed3596eb451bd2ec78063d7cc6e73c773d";
hash = "sha256-j/40922kfAh6zqJ4IRYpr66YXNNYsxuXwZ0aiJFJea0=";
};
# npmDepsHash = lib.fakeHash;
npmDepsHash = "sha256-bG+CHTq2Rst3JMxsjAC81KhK+G7WwsTVD1eyP87g0z4=";
buildPhase = ''
npm install
cp ${
pkgs.writeText "src/routes/config.json" settings
} src/routes/config.json
npm run build
mkdir $out
mv build $out
'';
meta = {
description = "homepage";
homepage = "https://github.com/anotherhadi/homepage";
};
};
in {
in
{
imports = [ ./duckduckgo-colorscheme.nix ];
@ -99,7 +98,7 @@ in {
};
quickmarks = {
home = "${homepage}/build/index.html";
# home = "${homepage}/build/index.html";
server = "https://home.anotherhadi.com";
jack = "https://home.anotherhadi.com";
mynixos = "https://mynixos.com";
@ -119,14 +118,13 @@ in {
};
settings = {
url = {
default_page = "${homepage}/build/index.html";
start_pages = [ "${homepage}/build/index.html" ];
};
# url = {
# default_page = "${homepage}/build/index.html";
# start_pages = [ "${homepage}/build/index.html" ];
# };
colors = {
webpage.preferred_color_scheme =
"dark"; # Enable dark mode for websites that support it
webpage.preferred_color_scheme = "dark"; # Enable dark mode for websites that support it
};
statusbar.show = "in-mode";
@ -157,7 +155,9 @@ in {
remove_finished = 0;
};
hints = { radius = 1; };
hints = {
radius = 1;
};
scrolling = {
bar = "never";
@ -178,7 +178,7 @@ in {
keyBindings = {
normal = {
"gh" = "open ${homepage}/build/index.html";
# "gh" = "open ${homepage}/build/index.html";
"gs" = "open https://home.anotherhadi.com";
" p" = "tab-move -";

View File

@ -1,4 +1,11 @@
{
imports =
[ ./fzf.nix ./zsh.nix ./starship.nix ./zoxide.nix ./tmux.nix ./eza.nix ];
imports = [
./fzf.nix
./zsh.nix
./starship.nix
./zoxide.nix
./tmux.nix
./eza.nix
./direnv.nix
];
}

View File

@ -0,0 +1,8 @@
# Direnv for development
{
programs.direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
}

View File

@ -8,6 +8,9 @@ in {
enable = true;
settings = {
add_newline = true;
aws.disabled = true;
azure.disabled = true;
gcloud.disabled = true;
format = lib.concatStrings [
"$directory"
"$git_branch"

View File

@ -29,7 +29,8 @@ in {
enable = true;
mouse = true;
shell = "${pkgs.zsh}/bin/zsh";
prefix = "C-s";
prefix = "C-a";
baseIndex = 1;
terminal = "kitty";
keyMode = "vi";
@ -45,13 +46,18 @@ in {
bind-key -n C-Tab next-window
bind-key -n C-S-Tab previous-window
bind-key -n M-Tab new-window
bind C-l send-keys 'C-l'
bind c new-window -c "#{pane_current_path}"
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
'';
plugins = with pkgs; [
tmuxPlugins.vim-tmux-navigator
tmuxPlugins.resurrect
tmuxPlugins.sensible
tmuxPlugins.tokyo-night-tmux
# tmuxPlugins.tokyo-night-tmux
];
};
home.packages = [ Config ];

View File

@ -3,12 +3,24 @@
let fetch = config.var.theme.fetch; # neofetch, nerdfetch, pfetch
in {
home.packages = with pkgs; [ bat ripgrep tldr sesh ];
home.packages = with pkgs; [ ripgrep tldr sesh ];
home.sessionPath = [ "$HOME/go/bin" ];
programs.bat = {
enable = true;
extraPackages = with pkgs.bat-extras; [
batman
batdiff
batgrep
batwatch
prettybat
];
};
programs.zsh = {
enable = true;
autocd = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
@ -64,10 +76,16 @@ in {
open = "${pkgs.xdg-utils}/bin/xdg-open";
icat = "${pkgs.kitty}/bin/kitty +kitten icat";
cat = "bat";
diff = "batdiff";
man = "batman";
grep = "batgrep";
rofi = "wofi";
wireguard-import = "nmcli connection import type wireguard file";
notes =
"nvim ~/nextcloud/Notes/index.md --cmd 'cd ~/nextcloud/Notes' -c ':Telescope find_files'";
"nvim ~/nextcloud/Catatan/index.md --cmd 'cd ~/nextcloud/Catatan' -c ':Telescope find_files'";
note = "notes";
# git

View File

@ -9,38 +9,40 @@
thunar-volman
];
home.file.".config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml".text = ''
<?xml version="1.0" encoding="UTF-8"?>
<channel name="thunar" version="1.0">
<property name="last-view" type="string" value="ThunarIconView"/>
<property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_100_PERCENT"/>
<property name="last-window-maximized" type="bool" value="true"/>
<property name="last-separator-position" type="int" value="170"/>
<property name="last-statusbar-visible" type="bool" value="false"/>
<property name="last-menubar-visible" type="bool" value="false"/>
<property name="misc-single-click" type="bool" value="false"/>
<property name="shortcuts-icon-emblems" type="bool" value="true"/>
<property name="tree-icon-emblems" type="bool" value="true"/>
<property name="misc-file-size-binary" type="bool" value="true"/>
<property name="misc-thumbnail-draw-frames" type="bool" value="false"/>
<property name="misc-text-beside-icons" type="bool" value="true"/>
<property name="misc-change-window-icon" type="bool" value="true"/>
<property name="hidden-bookmarks" type="array">
<value type="string" value="computer:///"/>
<value type="string" value="recent:///"/>
<value type="string" value="file:///"/>
<value type="string" value="network:///"/>
</property>
<property name="hidden-devices" type="array">
<value type="string" value="52FEA905FEA8E309"/>
</property>
<property name="last-toolbar-item-order" type="string" value="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17"/>
<property name="last-toolbar-visible-buttons" type="string" value="0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0"/>
<property name="last-location-bar" type="string" value="ThunarLocationButtons"/>
<property name="last-show-hidden" type="bool" value="false"/>
<property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/>
<property name="last-details-view-column-widths" type="string" value="50,50,127,50,50,50,50,50,751,50,50,75,50,145"/>
</channel>
'';
# home.file.".config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml".text = ''
# <?xml version="1.0" encoding="UTF-8"?>
#
# <channel name="thunar" version="1.0">
# <property name="last-view" type="string" value="ThunarIconView"/>
# <property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_100_PERCENT"/>
# <property name="last-window-maximized" type="bool" value="true"/>
# <property name="last-separator-position" type="int" value="170"/>
# <property name="last-statusbar-visible" type="bool" value="false"/>
# <property name="last-menubar-visible" type="bool" value="false"/>
# <property name="misc-single-click" type="bool" value="false"/>
# <property name="shortcuts-icon-emblems" type="bool" value="true"/>
# <property name="tree-icon-emblems" type="bool" value="true"/>
# <property name="misc-file-size-binary" type="bool" value="true"/>
# <property name="misc-thumbnail-draw-frames" type="bool" value="false"/>
# <property name="misc-text-beside-icons" type="bool" value="true"/>
# <property name="misc-change-window-icon" type="bool" value="true"/>
# <property name="hidden-bookmarks" type="array">
# <value type="string" value="computer:///"/>
# <value type="string" value="recent:///"/>
# <value type="string" value="file:///"/>
# <value type="string" value="network:///"/>
# </property>
# <property name="hidden-devices" type="array">
# <value type="string" value="52FEA905FEA8E309"/>
# </property>
# <property name="last-toolbar-item-order" type="string" value="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17"/>
# <property name="last-toolbar-visible-buttons" type="string" value="0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0"/>
# <property name="last-location-bar" type="string" value="ThunarLocationButtons"/>
# <property name="last-show-hidden" type="bool" value="false"/>
# <property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/>
# <property name="last-details-view-column-widths" type="string" value="50,50,127,50,50,50,50,50,751,50,50,75,50,145"/>
# <property name="misc-middle-click-in-tab" type="bool" value="true"/>
# <property name="last-details-view-visible-columns" type="string" value="THUNAR_COLUMN_DATE_MODIFIED,THUNAR_COLUMN_NAME,THUNAR_COLUMN_SIZE,THUNAR_COLUMN_TYPE"/>
# </channel>
# '';
}

View File

@ -9,9 +9,10 @@
#- - `night-shift-status-icon` checks if Night-Shift is active. (icon)
{ inputs, pkgs, ... }:
let
value = "4500";
night-shift-on = pkgs.writeShellScriptBin "night-shift-on" ''
${pkgs.hyprshade}/bin/hyprshade on blue-light-filter
${pkgs.hyprsunset}/bin/hyprsunset -t ${value} &
title="󰖔 Night-Shift Activated"
description="Night-Shift is now activated! Your screen will be warmer and easier on the eyes."
@ -19,7 +20,7 @@ let
'';
night-shift-off = pkgs.writeShellScriptBin "night-shift-off" ''
${pkgs.hyprshade}/bin/hyprshade off
pkill hyprsunset
title="󰖕 Night-Shift Deactivated"
description="Night-Shift is now deactivated! Your screen will return to normal."
@ -27,7 +28,7 @@ let
'';
night-shift = pkgs.writeShellScriptBin "night-shift" ''
if [[ $(${pkgs.hyprshade}/bin/hyprshade current) ]]; then
if pidof "hyprsunset"; then
night-shift-off
else
night-shift-on
@ -35,7 +36,7 @@ let
'';
night-shift-status = pkgs.writeShellScriptBin "night-shift-status" ''
if [[ $(${pkgs.hyprshade}/bin/hyprshade current) ]]; then
if pidof "hyprsunset"; then
echo "1"
else
echo "0"
@ -44,7 +45,7 @@ let
night-shift-status-icon =
pkgs.writeShellScriptBin "night-shift-status-icon" ''
if [[ $(hyprshade current) ]]; then
if pidof "hyprsunset"; then
echo "󰖔"
else
echo "󰖕"
@ -52,7 +53,7 @@ let
'';
in {
home.packages = [
inputs.hyprsunset.packages."${pkgs.system}".hyprsunset
pkgs.hyprsunset
night-shift-on
night-shift-off
night-shift

View File

@ -37,8 +37,8 @@ in {
theme = lib.mkForce { name = "FlatColor"; };
iconTheme = {
package = pkgs.kora-icon-theme;
name = "Kora";
package = pkgs.tela-icon-theme;
name = "Tela-dark";
};
font = { name = config.stylix.fonts.serif.name; };

View File

@ -13,13 +13,29 @@
listener = [
{
timeout = 600;
timeout = 150; # 2.5min.
on-timeout =
"${pkgs.brightnessctl}/bin/brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor.
on-resume =
"${pkgs.brightnessctl}/bin/brightnessctl -r"; # monitor backlight restore.
}
{
timeout = 300;
on-timeout = "pidof hyprlock || ${pkgs.hyprlock}/bin/hyprlock";
}
{
timeout = 660;
on-timeout = "systemctl suspend";
timeout = 430; # 5.5min
on-timeout =
"${pkgs.hyprland}/bin/hyprctl dispatch dpms off"; # screen off when timeout has passed
on-resume =
"${pkgs.hyprland}/bin/hyprctl dispatch dpms on"; # screen on when activity is detected after timeout has fired.
}
{
timeout = 960;
on-timeout = "systemctl sleep";
}
];
};

View File

@ -3,14 +3,18 @@
bind = [
"$mod,RETURN, exec, ${pkgs.kitty}/bin/kitty" # Kitty
"$mod,E, exec, ${pkgs.xfce.thunar}/bin/thunar" # Thunar
"$mod,B, exec, ${pkgs.qutebrowser}/bin/qutebrowser" # Qutebrowser
"$mod,K, exec, ${pkgs.bitwarden}/bin/bitwarden" # Bitwarden
"$mod,L, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock
# "$mod,B, exec, ${pkgs.qutebrowser}/bin/qutebrowser" # Qutebrowser
"$mod,U, exec, ${pkgs.firefox}/bin/firefox" # Firefox
# "$shiftMod,B, exec, ${pkgs.bitwarden}/bin/bitwarden" # Bitwarden
"$shiftMod,Q, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock
"$mod,X, exec, powermenu" # Powermenu
"$mod,SPACE, exec, menu" # Launcher
"$mod,C, exec, quickmenu" # Quickmenu
"$shiftMod,SPACE, exec, hyprfocus-toggle" # Toggle HyprFocus
"$mod,TAB, overview:toggle" # Overview
# "$shiftMod,SPACE, exec, hyprfocus-toggle" # Toggle HyprFocus
"$mod,TAB, workspace, previous" # Overview
# "$shiftMod,TAB, overview:toggle" # Overview
"$mod, bracketright, workspace, e+1"
"$mod, bracketleft, workspace, e-1"
"$mod,Q, killactive," # Close window
"$mod,T, togglefloating," # Toggle Floating
@ -24,12 +28,21 @@
"$shiftMod,left, layoutmsg, addmaster" # Add to master
"$shiftMod,right, layoutmsg, removemaster" # Remove from master
"$mod,h, movefocus, l" # Move focus left
"$mod,l, movefocus, r" # Move focus Right
"$mod,k, movefocus, u" # Move focus Up
"$mod,j, movefocus, d" # Move focus Down
"$ctrlMod,k, focusmonitor, -1" # Focus previous monitor
"$ctrlMod,j, focusmonitor, 1" # Focus next monitor
"$ctrlMod,h, layoutmsg, addmaster" # Add to master
"$ctrlMod,l, layoutmsg, removemaster" # Remove from master
"$mod,PRINT, exec, screenshot window" # Screenshot window
",PRINT, exec, screenshot monitor" # Screenshot monitor
"$shiftMod,PRINT, exec, screenshot region" # Screenshot region
"ALT,PRINT, exec, screenshot region swappy" # Screenshot region then edit
"$shiftMod,S, exec, ${pkgs.qutebrowser}/bin/qutebrowser :open $(wofi --show dmenu -L 1 -p ' Search on internet')" # Search on internet with wofi
# "$shiftMod,S, exec, ${pkgs.qutebrowser}/bin/qutebrowser :open $(wofi --show dmenu -L 1 -p ' Search on internet')" # Search on internet with wofi
"$shiftMod,C, exec, clipboard" # Clipboard picker with wofi
"$shiftMod,E, exec, ${pkgs.wofi-emoji}/bin/wofi-emoji" # Emoji picker with wofi
"$mod,F2, exec, night-shift" # Toggle night shift
@ -61,5 +74,10 @@
",XF86MonBrightnessDown, exec, brightness-down" # Brightness Down
];
binds = {
workspace_back_and_forth = false;
allow_workspace_cycles = true;
};
};
}

View File

@ -1,17 +1,21 @@
# So best window tiling manager
{ pkgs, config, inputs, ... }:
let
border-size = config.var.theme.border-size;
gaps-in = config.var.theme.gaps-in;
gaps-out = config.var.theme.gaps-out;
active-opacity = config.var.theme.active-opacity;
inactive-opacity = config.var.theme.inactive-opacity;
rounding = config.var.theme.rounding;
blur = config.var.theme.blur;
keyboardLayout = config.var.keyboardLayout;
inherit (config.var.theme)
border-size gaps-in gaps-out active-opacity inactive-opacity rounding blur;
inherit (config.var) keyboardLayout;
# border-size = config.var.theme.border-size;
# gaps-in = config.var.theme.gaps-in;
# gaps-out = config.var.theme.gaps-out;
# active-opacity = config.var.theme.active-opacity;
# inactive-opacity = config.var.theme.inactive-opacity;
# rounding = config.var.theme.rounding;
# blur = config.var.theme.blur;
# keyboardLayout = config.var.keyboardLayout;
in {
imports = [ ./animations.nix ./bindings.nix ./polkitagent.nix ];
imports =
[ ./animations.nix ./bindings.nix ./polkitagent.nix ./windowrule.nix ];
home.packages = with pkgs; [
qt5.qtwayland
@ -39,31 +43,40 @@ in {
wayland.windowManager.hyprland = {
enable = true;
xwayland.enable = true;
systemd.enable = true;
systemd = {
enable = true;
variables = [ "--all" ];
};
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
plugins = [ inputs.hyprspace.packages.${pkgs.system}.Hyprspace ];
# plugins = [ inputs.hyprspace.packages."${pkgs.system}".Hyprspace ];
settings = {
"$mod" = "SUPER";
"$shiftMod" = "SUPER_SHIFT";
"$ctrlMod" = "SUPER_CTRL";
exec-once = [
"${pkgs.bitwarden}/bin/bitwarden"
# "${pkgs.bitwarden}/bin/bitwarden"
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
];
plugin = { overview = { autoDrag = false; }; };
monitor = [
"eDP-2,highres,0x0,1"
"DP-7, disable"
"DP-8, disable"
"DP-9, disable"
"HDMI-A-1,3440x1440@99.98,auto,1"
"eDP-1,preffered,0x0,1"
"desc:LG Electronics 16EN33 305INKH5P181,preferred,0x-768,1"
",prefered,auto,1"
];
# workspace = [
# "1,monitor:eDP-1"
# "2,monitor:eDP-1"
# "3,monitor:eDP-1"
# "4,monitor:eDP-1"
# "5,monitor:eDP-1"
# ];
env = [
"XDG_SESSION_TYPE,wayland"
"XDG_CURRENT_DESKTOP,Hyprland"
@ -78,7 +91,7 @@ in {
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
"ELECTRON_OZONE_PLATFORM_HINT,auto"
"GTK_THEME,FlatColor:dark"
"GTK2_RC_FILES,/home/hadi/.local/share/themes/FlatColor/gtk-2.0/gtkrc"
"GTK2_RC_FILES,/home/dim/.local/share/themes/FlatColor/gtk-2.0/gtkrc"
"__GL_GSYNC_ALLOWED,0"
"__GL_VRR_ALLOWED,0"
"DISABLE_QT5_COMPAT,0"
@ -90,12 +103,12 @@ in {
"XDG_SESSION_TYPE,wayland"
"SDL_VIDEODRIVER,wayland"
"CLUTTER_BACKEND,wayland"
"AQ_DRM_DEVICES,/dev/dri/card2:/dev/dri/card1" # CHANGEME: Related to the GPU
# "AQ_DRM_DEVICES,/dev/dri/card2:/dev/dri/card1" # CHANGEME: Related to the GPU
];
cursor = {
no_hardware_cursors = true;
default_monitor = "eDP-2";
default_monitor = "eDP-1";
};
general = {
@ -108,13 +121,15 @@ in {
};
decoration = {
blur = { enabled = if blur then "true" else "false"; };
shadow = {
enabled = true;
range = 20;
render_power = 3;
};
active_opacity = active-opacity;
inactive_opacity = inactive-opacity;
rounding = rounding;
drop_shadow = true;
shadow_range = 20;
shadow_render_power = 3;
blur = { enabled = if blur then "true" else "false"; };
};
master = {
@ -142,9 +157,9 @@ in {
input = {
kb_layout = keyboardLayout;
kb_options = "caps:escape";
# kb_options = "caps:escape";
follow_mouse = 1;
sensitivity = 0.5;
sensitivity = 0;
repeat_delay = 300;
repeat_rate = 50;
numlock_by_default = true;
@ -154,7 +169,6 @@ in {
clickfinger_behavior = true;
};
};
};
};
systemd.user.targets.hyprland-session.Unit.Wants =

View File

@ -0,0 +1,47 @@
{ pkgs, ... }: {
wayland.windowManager.hyprland.settings = {
windowrulev2 = [
"workspace 2, class:^(emacs)$"
"workspace 3, class:^(kitty)$"
"workspace 9, class:^(org.qutebrowser.qutebrowser)$"
"workspace 9, title:^(Chromium)$"
"fullscreen, class:^(wlogout)$"
"float, class:^(Zotero)$"
"float, class:^(firefox)$,title:^(Certificate for )*$"
"float, class:^(firefox)$,title:^(.*Firefox Sharing Indicator.*)$"
"float, class:^(firefox)$,title:^(.*Presensi Mahasiswa.*)$"
"float, class:(firefox),title:^(Extension)(.*)$"
"float, class:^(pcmanfm)$,title:^(Confirm File Replacing)$"
"float, class:^(nemo)$,title:^(Confirm File Replacing)$"
"float, class:^(nm-connection-editor)$"
"float, class:^(.*blueman-manager.*)$"
"size 530 300, class:^(.*blueman-manager.*)$"
"move 100%-w-20 40, class:^(.*blueman-manager.*)$"
"noborder, class:^(.*dg-desktop-portal-.*)$"
"noblur, class:^(.*dg-desktop-portal-.*)$"
"noshadow, class:^(.*dg-desktop-portal-.*)$"
"float, class:^(*.dg-desktop-portal-.*)$"
"pin, class:^(*.dg-desktop-portal-.*)$"
"pin, class:^(gcr-prompter)$"
"float, title:^(Volume Control)$"
"pin, title:^(Volume Control)$"
"size 560 340, title:^(Volume Control)$"
"move 100%-w-30 30, title:^(Volume Control)$"
"float, class:^(spotube)$"
"size 660 700, class:^(spotube)$"
"move 100%-w-20 40, class:^(spotube)$"
"float, title:^(pve - Proxmox Console - Chromium)$"
"float, class:^(thunderbird)$,title:^(Reminders)$"
"float, class:^(thunderbird)$,title:^(Edit Event:)$"
"float, class:^(thunderbird)$,title:^(An error has occurred)$"
"float, class:^(thunar)$,title:^(File Operation Progress)$"
"float, class:^(org.kde.polkit-kde-authentication-agent-1)$"
"size 60% 55%, class:^(nwg-look)$"
"center, class:^(nwg-look)$"
"fullscreen, class:^(cool-retro-term.cool-retro-term)$"
"float, class:^(virt-manager)$,title:^(Virtual Machine Manager)$"
"size 440 220, class:^(virt-manager)$,title:^(Virtual Machine Manager)$"
"center, class:^(virt-manager)$,title:^(Virtual Machine Manager)$"
];
};
}

View File

@ -2,7 +2,7 @@
{ config, ... }:
let
foreground = "rgba(216, 222, 233, 0.70)";
imageStr = toString config.stylix.image;
imageStr = "screenshow"; # toString config.stylix.image;
font = config.stylix.fonts.serif.name;
in {
programs.hyprlock = {
@ -14,76 +14,76 @@ in {
disable_loading_bar = false;
};
# BACKGROUND
background = {
monitor = "";
path = imageStr;
blur_passes = 0;
contrast = 0.8916;
brightness = 0.7172;
vibrancy = 0.1696;
vibrancy_darkness = 0.0;
};
label = [
{
# Day-Month-Date
monitor = "";
text = ''cmd[update:1000] echo -e "$(date +"%A, %B %d")"'';
color = foreground;
font_size = 28;
font_family = font + " Bold";
position = "0, 490";
halign = "center";
valign = "center";
}
# Time
{
monitor = "";
text = ''cmd[update:1000] echo "<span>$(date +"%I:%M")</span>"'';
color = foreground;
font_size = 160;
font_family = "steelfish outline regular";
position = "0, 370";
halign = "center";
valign = "center";
}
# USER
{
monitor = "";
text = " $USER";
color = foreground;
outline_thickness = 2;
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true;
font_size = 18;
font_family = font + " Bold";
position = "0, -180";
halign = "center";
valign = "center";
}
];
# INPUT FIELD
input-field = [{
monitor = "";
size = "300, 60";
outline_thickness = 2;
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true;
outer_color = "rgba(255, 255, 255, 0)";
inner_color = "rgba(255, 255, 255, 0.1)";
font_color = foreground;
fade_on_empty = false;
font_family = font + " Bold";
placeholder_text = "<i>🔒 Enter Password</i>";
hide_input = false;
position = "0, -250";
halign = "center";
valign = "center";
}];
# # BACKGROUND
# background = {
# monitor = "";
# path = imageStr;
# blur_passes = 0;
# contrast = 0.8916;
# brightness = 0.7172;
# vibrancy = 0.1696;
# vibrancy_darkness = 0.0;
# };
#
# label = [
# {
# # Day-Month-Date
# monitor = "";
# text = ''cmd[update:1000] echo -e "$(date +"%A, %B %d")"'';
# color = foreground;
# font_size = 28;
# font_family = font + " Bold";
# position = "0, 490";
# halign = "center";
# valign = "center";
# }
# # Time
# {
# monitor = "";
# text = ''cmd[update:1000] echo "<span>$(date +"%I:%M")</span>"'';
# color = foreground;
# font_size = 160;
# font_family = "steelfish outline regular";
# position = "0, 370";
# halign = "center";
# valign = "center";
# }
# # USER
# {
# monitor = "";
# text = " $USER";
# color = foreground;
# outline_thickness = 2;
# dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
# dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
# dots_center = true;
# font_size = 18;
# font_family = font + " Bold";
# position = "0, -180";
# halign = "center";
# valign = "center";
# }
# ];
#
# # INPUT FIELD
# input-field = [{
# monitor = "";
# size = "300, 60";
# outline_thickness = 2;
# dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
# dots_spacing = 0.2; # Scale of dots' absolute size, 0.0 - 1.0
# dots_center = true;
# outer_color = "rgba(255, 255, 255, 0)";
# inner_color = "rgba(255, 255, 255, 0.1)";
# font_color = foreground;
# fade_on_empty = false;
# font_family = font + " Bold";
# placeholder_text = "<i>🔒 Enter Password</i>";
# hide_input = false;
# position = "0, -250";
# halign = "center";
# valign = "center";
# }];
};
};
}

View File

@ -24,13 +24,14 @@ let
location = config.var.location;
username = config.var.username;
weatherapikey = config.var.weatherapikey;
in {
wayland.windowManager.hyprland.settings.exec-once =
[ "${pkgs.hyprpanel}/bin/hyprpanel" ];
home.packages = with pkgs; [ hyprpanel libnotify ];
home.file.".cache/ags/hyprpanel/options.json" = {
home.file.".config/hyprpanel/config.json" = {
text = # json
''
{
@ -101,17 +102,18 @@ in {
"theme.bar.buttons.y_margins": "${
if floating && transparent then "0" else "8"
}px",
"theme.bar.buttons.spacing": "0.3em",
"theme.bar.buttons.spacing": "0.2em",
"theme.bar.buttons.radius": "${
if transparent then toString rounding else toString (rounding - 8)
}px",
"theme.bar.floating": ${if floating then "true" else "false"},
"theme.bar.buttons.padding_x": "0.8rem",
"theme.bar.buttons.padding_y": "0.4rem",
"theme.bar.buttons.padding_x": "0.4rem",
"theme.bar.buttons.padding_y": "0.2rem",
"theme.bar.buttons.workspaces.hover": "${accent-alt}",
"theme.bar.buttons.workspaces.active": "${accent}",
"theme.bar.buttons.workspaces.available": "${background}",
"theme.bar.buttons.workspaces.available": "${accent-alt}",
"theme.bar.margin_top": "${
if position == "top" then toString (gaps-in * 2) else "0"
@ -125,14 +127,14 @@ in {
"bar.launcher.icon": "",
"theme.bar.transparent": ${if transparent then "true" else "false"},
"bar.workspaces.show_numbered": false,
"bar.workspaces.workspaces": 5,
"bar.workspaces.monitorSpecific": true,
"bar.workspaces.show_icons": false,
"bar.workspaces.workspaces": 9,
"bar.workspaces.hideUnoccupied": false,
"bar.windowtitle.label": true,
"bar.volume.label": false,
"bar.network.truncation_size": 12,
"bar.bluetooth.label": false,
"bar.clock.format": "%a %b %d %I:%M %p",
"bar.clock.format": "%a %b %d %H:%M",
"bar.notifications.show_total": true,
"theme.notification.border_radius": "${toString rounding}px",
"theme.osd.enable": true,
@ -142,14 +144,14 @@ in {
"theme.osd.margins": "0px 0px 0px 10px",
"theme.osd.muted_zero": true,
"menus.clock.weather.location": "${location}",
"menus.clock.weather.key": "myapikey",
"menus.clock.weather.key": "${weatherapikey}",
"menus.clock.weather.unit": "metric",
"menus.dashboard.powermenu.avatar.image": "/home/${username}/.profile_picture.png",
"menus.dashboard.powermenu.confirmation": false,
"menus.dashboard.shortcuts.left.shortcut1.icon": "",
"menus.dashboard.shortcuts.left.shortcut1.command": "qutebrowser",
"menus.dashboard.shortcuts.left.shortcut1.tooltip": "Qutebrowser",
"menus.dashboard.shortcuts.left.shortcut1.command": "firefox",
"menus.dashboard.shortcuts.left.shortcut1.tooltip": "firefox",
"menus.dashboard.shortcuts.left.shortcut2.icon": "󰅶",
"menus.dashboard.shortcuts.left.shortcut2.command": "caffeine",
"menus.dashboard.shortcuts.left.shortcut2.tooltip": "Caffeine",
@ -167,17 +169,17 @@ in {
"menus.dashboard.shortcuts.right.shortcut3.tooltip": "Screenshot",
"menus.dashboard.directories.left.directory1.label": "󰉍 Downloads",
"menus.dashboard.directories.left.directory1.command": "bash -c \"thunar $HOME/Downloads/\"",
"menus.dashboard.directories.left.directory1.command": "bash -c \"nemo $HOME/Downloads/\"",
"menus.dashboard.directories.left.directory2.label": "󰉏 Pictures",
"menus.dashboard.directories.left.directory2.command": "bash -c \"thunar $HOME/Pictures/\"",
"menus.dashboard.directories.left.directory2.command": "bash -c \"nemo $HOME/Pictures/\"",
"menus.dashboard.directories.left.directory3.label": "󱧶 Documents",
"menus.dashboard.directories.left.directory3.command": "bash -c \"thunar $HOME/Documents/\"",
"menus.dashboard.directories.left.directory3.command": "bash -c \"nemo $HOME/Documents/\"",
"menus.dashboard.directories.right.directory1.label": "󱂵 Home",
"menus.dashboard.directories.right.directory1.command": "bash -c \"thunar $HOME/\"",
"menus.dashboard.directories.right.directory1.command": "bash -c \"nemo $HOME/\"",
"menus.dashboard.directories.right.directory2.label": "󰚝 Projects",
"menus.dashboard.directories.right.directory2.command": "bash -c \"thunar $HOME/dev/\"",
"menus.dashboard.directories.right.directory2.command": "bash -c \"nemo $HOME/dev/\"",
"menus.dashboard.directories.right.directory3.label": " Config",
"menus.dashboard.directories.right.directory3.command": "bash -c \"thunar $HOME/.config/\"",
"menus.dashboard.directories.right.directory3.command": "bash -c \"nemo $HOME/.config/\"",
"theme.bar.menus.monochrome": true,
"wallpaper.enable": false,

View File

@ -3,8 +3,8 @@
xdg.mimeApps = {
enable = true;
defaultApplications = {
"text/markdown" = "nvim.desktop";
"text/plain" = "nvim.desktop";
"text/markdown" = "neovide.desktop";
"text/plain" = "neovide.desktop";
"text/x-shellscript" = "nvim.desktop";
"text/x-python" = "nvim.desktop";
"text/x-go" = "nvim.desktop";
@ -23,11 +23,12 @@
"image/jpeg" = "imv.desktop";
"image/jpg" = "imv.desktop";
"image/webp" = "imv.desktop";
"image/gif" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/http" = "org.qutebrowser.qutebrowser.desktop";
"x-scheme-handler/https" = "org.qutebrowser.qutebrowser.desktop";
"text/html" = "org.qutebrowser.qutebrowser.desktop";
"application/pdf" = "zathura.desktop";
"image/gif" = "imv.desktop";
"x-scheme-handler/http" = "firefox.desktop";
"x-scheme-handler/https" = "firefox.desktop";
"text/html" = "firefox.desktop";
"text/csv" = "neovide.desktop";
"application/pdf" = "org.pwmt.zathura.desktop";
};
};
}

View File

@ -1,7 +1,7 @@
{ config, ... }: {
imports = [
../../nixos/nvidia.nix # CHANGEME: Remove this line if you don't have an Nvidia GPU
../../nixos/prime.nix # CHANGEME: Remove this line if you don't have an Nvidia GPU
# ../../nixos/nvidia.nix # CHANGEME: Remove this line if you don't have an Nvidia GPU
# ../../nixos/prime.nix # CHANGEME: Remove this line if you don't have an Nvidia GPU
../../nixos/audio.nix
../../nixos/auto-upgrade.nix
@ -15,6 +15,8 @@
../../nixos/tuigreet.nix
../../nixos/users.nix
../../nixos/utils.nix
../../nixos/virtualisation.nix
../../nixos/tailscale.nix
../../nixos/xdg-portal.nix
../../nixos/variables-config.nix
@ -26,6 +28,11 @@
home-manager.users."${config.var.username}" = import ./home.nix;
# users.users."${config.var.username}".extraGroups = [ "scanner" "lp" ];
# hardware.sane.enable = true;
networking.hosts = { "192.168.122.52" = [ "websiteku.lokal" ]; };
# Don't touch this
system.stateVersion = "24.05";
}

View File

@ -1,26 +1,32 @@
# 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") ];
{ config, lib, pkgs, modulesPath, ... }:
boot = {
initrd.availableKernelModules =
[ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
initrd.kernelModules = [ ];
kernelModules = [ "kvm-amd" ];
extraModulePackages = [ ];
};
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
fileSystems."/" = {
device = "/dev/disk/by-uuid/6c2487ec-20ff-4ce3-9396-281c2094aba1";
fsType = "ext4";
};
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/B4EA-C54F";
fsType = "vfat";
};
fileSystems."/" =
{ device = "/dev/disk/by-uuid/3b81e71c-24c3-46f7-9853-b721d5fe40f1";
fsType = "ext4";
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/e35041c3-5cbe-461c-a8cd-2e9cd9b319b5";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/DC41-C56D";
fsType = "vfat";
};
swapDevices = [ ];
@ -29,10 +35,10 @@
# 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.eno1.useDHCP = lib.mkDefault true;
# networking.interfaces.wlo1.useDHCP = lib.mkDefault true;
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@ -1,4 +1,4 @@
{ pkgs, config, ... }: {
{ pkgs, config, inputs, ... }: {
imports = [
./variables.nix
@ -6,16 +6,19 @@
# Programs
../../home/programs/kitty
../../home/programs/nvim
../../home/programs/qutebrowser
# ../../home/programs/qutebrowser
../../home/programs/shell
../../home/programs/pass
../../home/programs/fetch
../../home/programs/git
../../home/programs/spicetify
../../home/programs/nextcloud
../../home/programs/yazi
../../home/programs/markdown
# ../../home/programs/markdown
../../home/programs/thunar
../../home/programs/lazygit
../../home/programs/office
../../home/programs/firefox
# Scripts
../../home/scripts # All scripts
@ -35,7 +38,7 @@
../../home/system/clipman
../../home/system/tofi
./secrets # CHANGEME: You should probably remove this line, this is where I store my secrets
# ./secrets # CHANGEME: You should probably remove this line, this is where I store my secrets
];
home = {
@ -44,38 +47,83 @@
packages = with pkgs; [
# Apps
discord # Chat
bitwarden # Password manager
vlc # Video player
blanket # White-noise app
#discord # Chat
# bitwarden # Password manager
mpv # Video player
pcmanfm
xarchiver
#blanket # White-noise app
# Dev
go
nodejs
python3
(python3.withPackages (ps:
with ps; [
pip
isort
pyyaml
(buildPythonPackage {
pname = "docker-sdp";
version = "0.2.15";
src = pkgs.fetchFromGitHub {
owner = "neuroforgede";
repo = "docker-stack-deploy";
rev = "fa8c23d";
sha256 = "sha256-caff7K4++eQJE/7kbKJb8DgI6aWJdiHBbdV1+46aFMs=";
};
doCheck = false;
buildInputs = [ pip ];
})
]))
jq
figlet
just
ddev
mkcert
# Utils
zip
xz
unzip
p7zip
unrar
optipng
pfetch
pandoc
btop
bottom
iotop
iftop
lsof
sysstat
lm_sensors
ethtool
pciutils
usbutils
wireguard-tools
inetutils
gdu
enchant
# Just cool
peaclock
cbonsai
pipes
cmatrix
cava
# cava
# Backup
vscode
firefox
# zed-editor
neovide
inkscape-with-extensions
# gimp-with-plugins
gimp
sqlitebrowser
sqlite
emacs29-pgtk
zotero_7
chromium
# inputs.zen-browser.packages."${pkgs.system}"
];
# Import my profile picture, used by the hyprpanel dashboard

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 213 KiB

View File

@ -2,21 +2,29 @@
imports = [ ../../nixos/variables-config.nix ];
config.var = {
hostname = "nixy";
username = "hadi";
hostname = "dark";
username = "dim";
uid = 1000;
hashedPassword =
"$y$j9T$OqKMt8etf8DgTrZhN9jzy/$biMoM3P.WPZMpk0DAK.QhaHjGOL23pEgxlSvfu9LEPD";
configDirectory = "/home/" + config.var.username
+ "/.config/nixos"; # The path of the nixos configuration directory
keyboardLayout = "fr";
keyboardLayout = "us";
location = "Paris";
timeZone = "Europe/Paris";
location = "Tangerang";
timeZone = "Asia/Jakarta";
defaultLocale = "en_US.UTF-8";
extraLocale = "fr_FR.UTF-8";
extraLocale = "id_ID.UTF-8";
weatherapikey = "b13ad03a98f04a8ea5620114240412";
git = {
username = "Hadi";
email = "112569860+anotherhadi@users.noreply.github.com";
username = "dim";
email = "dbrw@dark";
signing = {
key = "D8EDD65BCB54AC8719BE4EBD8D5D880EB08F1544";
signByDefault = true;
};
};
autoUpgrade = false;

View File

@ -15,7 +15,11 @@
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
(nerdfonts.override { fonts = [ "FiraCode" "Meslo" ]; })
victor-mono
# (nerdfonts.override { fonts = [ "FiraCode" "Meslo" "VictorMono" ]; })
nerd-fonts.victor-mono
nerd-fonts.fira-code
nerd-fonts.meslo-lg
openmoji-color
twemoji-color-font
inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd

View File

@ -6,11 +6,12 @@
systemd-boot = {
enable = true;
consoleMode = "auto";
configurationLimit = 6;
};
};
tmp.cleanOnBoot = true;
kernelPackages =
pkgs.linuxPackages_latest; # _zen, _hardened, _rt, _rt_latest, etc.
pkgs.linuxPackages_zen; # _zen, _hardened, _rt, _rt_latest, etc.
# Silent boot
kernelParams = [

4
nixos/tailscale.nix Normal file
View File

@ -0,0 +1,4 @@
{ pkgs, ... }: {
environment.systemPackages = with pkgs; [ tailscale tailscale-systray ];
services.tailscale.enable = true;
}

View File

@ -9,6 +9,7 @@
};
};
};
security.pam.services.greetd.enableGnomeKeyring = true;
environment.systemPackages = with pkgs; [ greetd.tuigreet ];

View File

@ -1,13 +1,26 @@
{ config, pkgs, ... }:
let username = config.var.username;
let
username = config.var.username;
hashedPassword = config.var.hashedPassword;
userId = config.var.uid;
in {
programs.zsh.enable = true;
users = {
defaultUserShell = pkgs.zsh;
users.${username} = {
hashedPassword = "${hashedPassword}";
uid = userId;
isNormalUser = true;
description = "${username} account";
extraGroups = [ "networkmanager" "wheel" ];
extraGroups = [
"networkmanager"
"wheel"
"audio"
"video"
"input"
"docker"
"libvirtd"
];
};
};
}

View File

@ -6,14 +6,6 @@ in {
networking.hostName = hostname;
services = {
xserver = {
enable = true;
xkb.layout = keyboardLayout;
xkb.variant = "";
};
gnome.gnome-keyring.enable = true;
};
console.keyMap = keyboardLayout;
environment.variables = {
@ -30,6 +22,7 @@ in {
upower.enable = true;
power-profiles-daemon.enable = true;
udisks2.enable = true;
devmon.enable = true;
};
# Faster rebuilding
@ -42,6 +35,18 @@ in {
nixos.enable = false;
};
# Better caps2esc
services.interception-tools = {
enable = true;
udevmonConfig = ''
- JOB: "${pkgs.interception-tools}/bin/intercept -g $DEVNODE | ${pkgs.interception-tools-plugins.caps2esc}/bin/caps2esc | ${pkgs.interception-tools}/bin/uinput -d $DEVNODE"
DEVICE:
EVENTS:
EV_KEY: [KEY_CAPSLOCK, KEY_ESC]
'';
plugins = [ pkgs.interception-tools-plugins.caps2esc ];
};
environment.systemPackages = with pkgs; [
fd
bc
@ -50,6 +55,10 @@ in {
xdg-utils
wget
curl
interception-tools
nix-tree
stevenblack-blocklist
wlay
];
services.logind.extraConfig = ''

6
nixos/virtualisation.nix Normal file
View File

@ -0,0 +1,6 @@
{ pkgs, config, inputs, ... }: {
virtualisation.docker.enable = true;
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
environment.systemPackages = with pkgs; [ virtiofsd ];
}

View File

@ -1,6 +1,7 @@
{ pkgs, inputs, ... }: {
stylix = {
enable = true;
# targets.hyprlock.enable = false;
# Edited catppuccin
base16Scheme = {
@ -30,14 +31,16 @@
};
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
package = pkgs.phinger-cursors;
name = "phinger-cursors-light";
# package = pkgs.banana-cursor;
# name = "Banana";
size = 24;
};
fonts = {
monospace = {
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; };
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrains Mono Nerd Font";
};
sansSerif = {
@ -53,15 +56,15 @@
name = "Noto Color Emoji";
};
sizes = {
applications = 13;
desktop = 13;
popups = 13;
terminal = 13;
applications = 11;
desktop = 12;
popups = 12;
terminal = 11;
};
};
polarity = "dark";
image = inputs.nixy-wallpapers + "/wallpapers/black-oil.png";
image = inputs.nixy-wallpapers + "/wallpapers/dark.png";
};
}

View File

@ -1,11 +1,11 @@
{
rounding = 15;
gaps-in = 10;
gaps-out = 10 * 2;
rounding = 5;
gaps-in = 5;
gaps-out = 5 * 2;
active-opacity = 1;
inactive-opacity = 0.89;
blur = true;
border-size = 3;
border-size = 2;
animation-speed = "medium"; # "fast" | "medium" | "slow"
fetch = "nerdfetch"; # "nerdfetch" | "neofetch" | "pfetch" | "none"