commit ec52ded8236f205a111e0a04f56b7e1f98618dd2 Author: Giulio De Pasquale Date: Fri Jun 25 12:55:23 2021 +0100 initial home commit diff --git a/home/code.nix b/home/code.nix new file mode 100644 index 0000000..663d05e --- /dev/null +++ b/home/code.nix @@ -0,0 +1,11 @@ +{ config, pkgs, lib, ... }: +let + extensions = (with pkgs.vscode-extensions; [ + bbenoist.Nix + ms-python.python + ms-azuretools.vscode-docker + ms-vscode-remote.remote-ssh + ]); + vscode-with-extensions = + pkgs.vscode-with-extensions.override { vscodeExtensions = extensions; }; +in { config = { home.packages = [ vscode-with-extensions ]; }; } diff --git a/home/git.nix b/home/git.nix new file mode 100644 index 0000000..55897d8 --- /dev/null +++ b/home/git.nix @@ -0,0 +1,7 @@ +{ config, pkgs, lib, ... }: { + programs.git = { + enable = true; + userName = "Giulio De Pasquale"; + userEmail = "depasquale+git@giugl.io"; + }; +} diff --git a/home/gnome.nix b/home/gnome.nix new file mode 100644 index 0000000..8b804e5 --- /dev/null +++ b/home/gnome.nix @@ -0,0 +1,83 @@ +{ config, pkgs, lib, ... }: { + dconf.settings = { + # + # touchpad + # + + "org/gnome/desktop/peripherals/touchpad" = { + natural-scroll = false; + two-finger-scrolling-enabled = true; + }; + + # + # window keybindings + # + + "org/gnome/desktop/wm/keybindings" = { + close = [ "q" ]; + maximize = [ "Up" ]; + unmaximize = [ "Down" ]; + move-to-workspace-left = [ "Left" ]; + move-to-workspace-right = [ "Right" ]; + switch-to-workspace-left = [ "Left" ]; + switch-to-workspace-right = [ "Right" ]; + }; + "org/gnome/mutter/keybindings" = { + toggle-tiled-left = [ "Left" ]; + toggle-tiled-right = [ "Right" ]; + }; + + # + # custom keybindings + # + + "org/gnome/settings-daemon/plugins/media-keys" = { + custom-keybindings = [ + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" + ]; + + # lock screen + screensaver = [ "l" ]; + }; + + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = + { + binding = "F12"; + command = "guake-toggle"; + name = "Guake"; + }; + + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = + { + binding = "a"; + command = "albert toggle"; + name = "Albert"; + }; + + # + # power settings + # + + "org/gnome/settings-daemon/plugins/power" = { + sleep-inactive-ac-type = "nothing"; + sleep-inactive-battery-type = "nothing"; + + }; + + # + # night light + # + + "org/gnome/settings-daemon/plugins/color" = { + night-light-enabled = true; + night-light-temperature = 2536; + }; + + # + # interface + # + + "org/gnome/desktop/interface" = { show-battery-percentage = true; }; + }; +} diff --git a/home/home.nix b/home/home.nix new file mode 100644 index 0000000..c5a87fd --- /dev/null +++ b/home/home.nix @@ -0,0 +1,80 @@ +{ config, pkgs, ... }: + +let + albert_autostart = (pkgs.makeAutostartItem { + name = "albert"; + package = pkgs.albert; + }); + guake_autostart = (pkgs.makeAutostartItem { + name = "guake"; + package = pkgs.guake; + }); +in { + nixpkgs.config = { allowUnfree = true; }; + + # + # imports + # + + imports = [ ./git.nix ./gnome.nix ./zsh.nix ]; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; + + # Home Manager needs a bit of information about you and the + # paths it should manage. + home.username = "giulio"; + home.homeDirectory = "/home/giulio"; + + # This value determines the Home Manager release that your + # configuration is compatible with. This helps avoid breakage + # when a new Home Manager release introduces backwards + # incompatible changes. + # + # You can update Home Manager without changing this value. See + # the Home Manager release notes for a list of state version + # changes in each release. + home.stateVersion = "21.05"; + + home.packages = with pkgs; [ + # essentials + albert + guake + + # browsers + firefox + brave + chromium + + # reversing + rizin + + # development + nixfmt + jetbrains.idea-ultimate + jetbrains.jdk + vscode + clang + + # social + slack + signal-desktop + teams + discord + + # music + spotify + + # misc + bind + + # autostart + albert_autostart + guake_autostart + ]; + + home.sessionVariables = { + EDITOR = "nvim"; + VISUAL = "nvim"; + }; +} diff --git a/home/zsh.nix b/home/zsh.nix new file mode 100644 index 0000000..bd76a89 --- /dev/null +++ b/home/zsh.nix @@ -0,0 +1,13 @@ +{ config, pkgs, lib, ... }: { + home.packages = with pkgs; [ zsh ]; + + programs.zsh = { + enable = true; + + oh-my-zsh = { + enable = true; + plugins = [ "git" "sudo" "docker" "docker-compose" "adb" "systemd" ]; + theme = "bira"; + }; + }; +}